Bir kullanıcının UITextField'ı düzenlerken "geri dön" klavye düğmesine bastığını nasıl tespit edebilirim? Kullanıcı "geri dön" düğmesine bastığında klavyeyi kapatmak için bunu yapmam gerekiyor.
Teşekkürler.
Bir kullanıcının UITextField'ı düzenlerken "geri dön" klavye düğmesine bastığını nasıl tespit edebilirim? Kullanıcı "geri dön" düğmesine bastığında klavyeyi kapatmak için bunu yapmam gerekiyor.
Teşekkürler.
Yanıtlar:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
Temsilciyi storyboard'a yerleştirmeyi unutmayın ...
self.yourTextField.delegate = self;
. Birden çok metin alanı bile çalışır.
Yetkilendirme gerekli değildir, işte tek satırlık:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
Ne yazık ki bunu Storyboard'unuzda doğrudan yapamazsınız (eylemleri Storyboard'da yayan kontrole bağlayamazsınız), ancak bunu bir aracı eylem yoluyla yapabilirsiniz.
UIControlEventEditingDidEndOnExit
olayın gönderildiğini belirtmek istiyorum textFieldShouldReturn:
.
YES
bu yöntem için geri dönmeniz gerekir .
SWIFT 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
enterPressed () işlevinde aradığınız tüm davranışları yerleştirin
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
Enter düğmesine tıklandığında bu delege yöntemi çağrılır. Bu delege yönteminden dönüş düğmesini yakalayabilirsiniz.