我有一个UIViewController
,并在其上创建了一个小的UIView
(子视图)。当我点击一个按钮时,这个视图悬停在屏幕的中心。问题是我得到UITextField
在额外的UIView
,我似乎无法得到返回键工作。子视图上的UITextField返回键
虽然我将我的IBAction
设置为文本字段的“编辑结束”事件,但当单击返回键时,IBAction
未运行。
我在做什么错?
我有一个UIViewController
,并在其上创建了一个小的UIView
(子视图)。当我点击一个按钮时,这个视图悬停在屏幕的中心。问题是我得到UITextField
在额外的UIView
,我似乎无法得到返回键工作。子视图上的UITextField返回键
虽然我将我的IBAction
设置为文本字段的“编辑结束”事件,但当单击返回键时,IBAction
未运行。
我在做什么错?
您只需设置您的代理,例如: - yourtextfile.delegate=self;
,也不要忘了在添加委托方法.h文件中
@interface contacts_detailView : UIViewController<UITextFieldDelegate>
,然后委派textFieldDidEndEditing
- (void)textFieldDidEndEditing:(UITextField *)textField
{
//your new view apear code here
[textField resignFirstResponder];
}
确保UITextFieldDelegate在接口
我已在接口上有
添加代表到您的文本域 textfiled.delegate = self –
点击“Return”不会触发“Editing did end”事件。只有当您在UITextField上调用resignFirstResponder时,才会看到事件触发。
你应该做的是设置你的UIViewController为的UITextField的代表和实现方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
最后!非常感谢!我不知道为什么其他人不工作,但这一个确实如此。我很肯定我曾经看到一次,将“IBAction”附加到“End Editing”事件中,但我会检查那一个。再次感谢。 –
如果我的回答对您有帮助,请考虑将其标记为正确答案。 –
首先,委托这样的TextField对文件的所有者:
yourtextField.delegate = self
在viewDidLoad中。
,然后添加到这个视图控制器
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
它应该工作。
没有必要为关键板返回编写更多代码。请将它写入您的.m文件中,它可以用于任意数量的文本字段,不需要再次为不同的文本字段再次写入。
在你的.h文件中使用<UItextfieldDelegate>
。然后在nib文件中与fileowner进行连线。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[self.view endEditing:YES];
return YES;
}
你能显示一些代码吗?您是否已**将文本字段委派给文件所有者? – esh