標籤:style class blog code tar ext
第一種方法,使用它的委託UITextFieldDelegate中的方法textFieldShouldReturn:來關閉虛擬鍵盤。在UITextField視圖對象如birdNameInput所在的類中實現這個方法。- (BOOL)textFieldShouldReturn:(UITextField *)textField { if ((textField == self.birdNameInput) || (textField == self.locationInput)) { [textField resignFirstResponder]; } return YES; }
第二種方法,將birdNameInput的屬性中Return Key修改為done,再定義一個方法和Done鍵的Did End On Exit串連。通過輕擊done鍵觸發這個事件來關閉虛擬鍵盤。定義的方法如下:- (IBAction) textFieldDoneEditing:(id)sender { [sender resignFirstResponder]; }
第三種方法,通過輕擊鍵盤之外的空白地區關閉虛擬鍵盤。在birdNameInput所屬的視圖控制器類的viewDidLoad方法中定義一個UITapGestureRecognizer的對象,然後將它賦值為它的視圖。UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)]; [self.view addGestureRecognizer:tap]; 定義選取器調用的方法dismissKeyboard。-(void)dismissKeyboard { [birdNameInput resignFirstResponder]; }