我有一个奇怪的设置。
我有一个View
名为 View1 和 ViewController
调用viewController1
在 IB
,View1 是 ViewController1 的子级。
在View1内,我使用代码 a UITextField
创建了并添加为 subview 。
在我的Viewcontroller
,我有viewController1 : UIViewController <UITextFieldDelegate>
现在..当View1中的文本字段获得键盘中的“完成”按钮时,我想放弃键盘,所以我有
- (BOOL)textFieldShouldReturn:(UITextField *)TEXTFIELD {
[TEXTFIELD resignFirstResponder];
}
现在的问题是,如何在 TEXFIELD(在我的 View Controller 中定义)和我的 View 中定义的文本字段之间建立连接?
我必须在interfaceBuilder中做一些事情吗?
也许我完全不在这儿了......
非常感谢一些提示
最佳答案
肯德尔是对的。您需要将 viewController1 设置为文本字段的委托(delegate)。
在上面的评论中,我认为您误解了 textFieldShouldReturn 方法。 UITextField* 作为参数传入此方法,以便委托(delegate)可以查看要返回哪个字段,并决定是否允许它返回。在您的情况下,您只有一个文本字段,因此只需辞去第一响应者并返回 YES (我的代码如下)。
尝试在此 textFieldShouldReturn 函数上放置一个断点。是不是被叫到了?
- (BOOL)textFieldShouldReturn:(UITextField*)aTextField
{
[aTextField resignFirstResponder];
return YES;
}
关于iphone - UiTextField 和 resignFirstResponder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/684579/