Klavyenin kapatılması için [textField resignFirstResponder] mesajının yollanması gerekir. Bu mesaj ile klavye kapatılır.
İyi bir kullanıcı deneyimi için bu mesaj hem klavyede Return tuşuna click lendiği zaman hemde ekranda herhangi bir yere touch işlemi yapıldığı zaman yollanmalıdır.
Bu işlem için textField ' in delegate inde aşağıdaki metod eklenmelidir.
-(BOOL)textFieldShouldReturn:(UITextField*) theTextField {
if (theTextField == textField) {
[textField resignFirstResponder];
}
return YES;
}
Bu metodun eklendiği class (genellikle ViewController veya View) UITextFieldDelegate protokolünü uyguluyor olmalıdır.
View ' da herhangi bir yere touch işlemi yapıldığında klavyenin kapatılması için ise aşağıdaki metod gereklidir.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
if(touch.phase == UITouchPhaseBegan) {
[self.textField resignFirstResponder];
}
}
No comments:
Post a Comment