关闭UITextField上的键盘

Fra*_*esc 24 iphone uitextfield ios-4.2

我是iOS设备的新手.我在InterfaceBuilder上插入了一个UITextField,并分配了代码:


@interface ComposeViewController : UIViewController {
 id <ComposeViewControllerDelegate> delegate;
 IBOutlet UITextField *notificationTitle;
}
Run Code Online (Sandbox Code Playgroud) 当用户按下"返回"键时,如何关闭键盘?

Lyl*_*att 46

将UITextField的Delegate设置为ViewController,在File的Owner和UITextField之间添加一个引用插座,然后实现此方法:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
   if (textField == yourTextField) {
       [textField resignFirstResponder];
   }
   return NO;
}
Run Code Online (Sandbox Code Playgroud)

  • 如果这不是你的文本字段,我们不应该返回YES吗?对于其他字段,我们应该获得默认行为,因为提问者没有指定任何特殊操作. (2认同)

Gui*_*tas 23

继承UITextFieldDelegate协议在viewDidLoad方法集中:

yourTextField.delegate = self
实现下面的委托方法:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{ 
   [yourTextField resignFirstResponder];
   return NO;
}

  • 请记住,如果您未在类的头文件中设置符合`<UITextFieldDelegate>`,则`yourTextField.delegate = self`会在XCode中生成警告. (2认同)