我有一个使用XCode 4和Storyboard创建的iPad应用程序。我有一个UITableViewController,接口定义如下:
@interface CustomerViewController : UITableViewController <UITextFieldDelegate>
在.m文件中,我有一个代码段:
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
if(textField == businessName) {
[email becomeFirstResponder];
return true;
}
方法'textFieldShouldReturn'不会被执行。还有什么需要做的? (顺便说一句......我从来没有能够在iPad应用程序中使用它,但在iPhone应用程序中总能成功)
答案 0 :(得分:3)
在textFieldShouldReturn方法中,您正在测试textField是否等于businessName。我假设这是一个UITextField对象,但你必须设置委托来接收回调。只是一个简单的self.businessName.delegate = self;当你创建TextField时。
另一个提示,我建议将其称为businessNameTextField。在整个代码中阅读更容易。
答案 1 :(得分:1)
您必须将视图控制器设置为文本字段的委托,只是声明您符合协议是不够的。如果它适用于iPhone但不适用于iPad,那么您有可能没有链接iPad故事板中的代理插座,但是您已经在iPhone中。