24

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


@interface ComposeViewController : UIViewController {
 id <ComposeViewControllerDelegate> delegate;
 IBOutlet UITextField *notificationTitle;
}
当用户按下“返回”键时,我如何允许关闭键盘?

4

4 回答 4

46

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

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
   if (textField == yourTextField) {
       [textField resignFirstResponder];
   }
   return NO;
}
于 2011-01-21T18:23:54.913 回答
23

继承 UITextFieldDelegate 协议 viewDidLoad 方法集:

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

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

于 2011-04-14T01:25:31.663 回答
1

继承UITextFieldDelegate协议并实现textFieldShouldReturn:,这就是你将捕获“返回”事件。

textFieldShouldReturn[notificationTitle resignFirstResponder];

于 2011-01-21T18:22:34.487 回答
0

将动作目标添加到事件在退出时结束(UIControlEventEditingDidEndOnExit),在目标函数中,使用 resignFirstResponder 从文本字段中删除第一响应者。添加动作目标

注意: 1. Nib --- 甚至在退出时对是否结束进行操作 2. 在代码中将目标操作添加到事件 UIControlEventEditingDidEndOnExit。

于 2011-01-21T18:34:30.823 回答