2016-04-05 14 views
2

Etiketimin metnini değiştirmek için "düzenle" butonunu kullanmak istiyorum.nasıl bir düğmesi tıklandığında etiket düzenlenebilir hale ve metni yazmak için klavyeyi göstermek için?

enter image description here

yeni metin yazmak için klavyeyi kullanmanız gerekir. Ben label.text = "new label" sahip bir düğme yapmak için biliyorum demek ama onun klavye ile Etiket metnini değiştirmek için kullanıcıya imkanı vermek istiyoruz. Bir metin görünümü ile denedim ama biz (kendi ve internet üzerinde herhangi bir çözüm bulamadık) metin değiştirmek için bize metin görünümünde yönlendirebilirsiniz bir düğme yapmak mümkün değil. Eğer bir film şeridi bir çözüm varsa mükemmel olurdu böylece

Ben storyboard ile çok çalışmak ama Objective-C ve Swift de :)

teşekkür ederiz anlayacak!

Düzenleme: Teşekkürler Henrique da Costa, çözüm düğmesi eylemi [TextView becomeFirstResponder]; koymaktır. Swift'de TextView.becomeFirstResponder().

Yer tutucu "Kullanıcı bilgileri" ile bir TextField ve etkin kullanıcı etkileşimi olabilir
+0

override Sen düğmesine basın anında override yöntem

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool 

ve kullanıcı klavyede return çarptığında etiketi değiştirmek için etiket metnini değiştirmek için? Metin görünümü ilk cevaplayıcı ve düzenleme için hazır hale gelir.Ve düzenleme düğmeniz bir kayıt düğmesi haline gelir. Metin görünümünde düzenlerseniz, kaydetme düğmesine basarsınız. Textview'in metnini etikete iletirsiniz. Bu ihtiyaçlarınızı karşılayacak mı? – MudOnTire

cevap

4

:

Image

ve ardından oluşturmak ve editButton Eylem ve işlevi içinde yapabilirsiniz

olabilir
textField.view.userInteractionEnabled = true 
textField.becomeFirstResponder() 

ve bu, kullanıcının bilgilerini yazabilmesi için klavyeyi açar.

+0

Birden fazla bilgi hattına ihtiyacım var ama textView.becomeFirstResponder ile çalışacağım! Düzenleme: düğme içinde [TextView becomeFirstResponder]; ile çalışır. Çok teşekkürler ! – OxyFlax

+0

Sorun değil :) –

1

UILabel yerine UITextField ve enabled özelliğini değiştirmek için kullanabilirsiniz.

+0

Birkaç satıra ihtiyacım vardı, bu yüzden işime uymuyor ama bu da işe yarayacak! Teşekkürler – OxyFlax

0

'u StoryBoard'a ekleyebilir ve Controller sınıfına bağlayabilirsiniz.

yourTextField.becomeFirstResponder() 

Bu klavyeyi açmak ve denetleyici metinde yazılan almaya yardımcı olacaktır

gösterildiği gibi Şimdi Edit düğme eylemi değiştirin. Artık UITextField'u göstermeyi veya gizlemeyi seçebilirsiniz. Gizlenmişse, etiketi her karakterle anında güncelleyebilir ve gösteriliyorsa, kullanıcı return veya benzeri isabet ettiğinde etiket metnini değiştirebilirsiniz. viewDidLoad yılında UITextField temsilci özelliklerini alabilir ve UITextFieldDelegate ile kontrolör sınıfını genişletmek için Şimdi Controller set viewDidLoad

yourTextField.hidden = true 

yılında UITextField gizlemek için hidden özelliğini kullanın.

yourTextField.delegate = self 

func textFieldShouldReturn(textField: UITextField) -> Bool 
+0

Birkaç satıra ihtiyacım vardı, bu yüzden işime uymuyor ama bu da işe yarayacak! UILabel'a birden çok satır eklemek için – OxyFlax

+0

'a teşekkürler, 'yourLabel.numberOfLines = 0' – Mathews

+0

'u ayarlayın Evet biliyorum ama bu bir textfield, bir etiket değil;) – OxyFlax

İlgili konular