1

我有一个我在它上面创建UIViewController的额外的小UIView东西(子视图)。当我单击一个按钮时,此视图将悬停在屏幕中央。问题是我有一个UITextField额外的UIView,我似乎无法让返回键工作。

虽然我将我设置IBAction为文本字段的事件“编辑确实结束”,但当我单击返回键时,IBAction它不会运行。

我究竟做错了什么?

4

5 回答 5

0

确保 UITextFieldDelegate 在界面

于 2012-11-06T08:39:54.040 回答
0

例如,您只需设置您的代表 :-yourtextfile.delegate=self;并且不要忘记将委托方法添加到 .h 文件中

@interface contacts_detailView : UIViewController<UITextFieldDelegate>

然后你委托textFieldDidEndEditing

- (void)textFieldDidEndEditing:(UITextField *)textField
{
//your new view apear code here 
    [textField resignFirstResponder];
}
于 2012-11-06T08:41:04.310 回答
0

单击“返回”不会触发“编辑结束”事件。只有当您在 UITextField 上调用 resignFirstResponder 时,您才会看到触发的事件。

您应该做的是将您的 UIViewController 设置为 UITextField 的委托并实现该方法

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}
于 2012-11-06T08:41:53.940 回答
0

首先,将 TextField 委托给文件的所有者,如下所示:

yourtextField.delegate = self在你的 viewDidLoad 中。

然后将其添加到视图控制器

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

它应该工作。

于 2012-11-06T08:46:31.320 回答
0

无需为键盘返回编写更多代码。请在您的 .m 文件中写入,它适用于任意数量的文本字段,无需为不同的文本字段再次写入。

<UItextfieldDelegate> 在您的 .h 文件中使用。然后在 nib 文件中与文件所有者进行连接。

- (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
     [self.view endEditing:YES];
     return YES;
     }
于 2012-11-06T09:12:15.740 回答