【发布时间】:2013-02-19 07:52:39
【问题描述】:
我一直在试图弄清楚如何让 UIKeyboard 上的下一个按钮加载下一个 UITextField。我有两个单元格,名称和电子邮件我想使用下一个按钮从名称转到电子邮件。
到目前为止我已经添加了
//.h
<UITextFieldDelegate>
然后我这样做是为了尝试将用户从名称传递到电子邮件
//.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
customerNameTextField.delegate = self;
customerEmailTextField.delegate = self;
//...
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if (![customerNameTextField.text isEqualToString:@""]) {
[customerNameTextField resignFirstResponder];
[customerEmailTextField becomeFirstResponder];
} else if (textField == customerEmailTextField) {
// here you can define what happens
// when user presses return on the email field
// send request
}
return YES;
}
它进入第一个 if 语句,然后它使用 resignFirstResponder 从屏幕上删除键盘,但随后它不使用 becomeFirstResponder 加载新键盘。任何解决此问题的帮助将不胜感激。
【问题讨论】:
-
确定 customerEmailTextField 不为零?
-
我必须更改 if 语句的第二部分。但我也不太确定您指的是什么?
-
如果 customerEmailTextField 为 nil,您的代码 [customerEmailTextField becomeFirstResponder] 显然无法工作...
-
如果您告诉下一个字段成为第一响应者,我认为您不需要辞职第一响应者。另外,我认为你应该返回 NO。
-
我希望这不是一个愚蠢的问题,但我该如何阻止它为零?...好吧,请阅读您的建议。我现在就试试。
标签: ios uikeyboard resignfirstresponder becomefirstresponder