【问题标题】:UIKeyboard next button not going to next UITextFieldUIKeyboard 下一个按钮不会转到下一个 UITextField
【发布时间】: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


【解决方案1】:

这将从一个文本字段转到下一个文本字段...

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    if (textField == ist) {
        [second becomeFirstResponder];
    }
    else if (textField == second) {
        [third becomeFirstResponder];
    }

    else{
        [textField resignFirstResponder];
    }
    return YES;
}

【讨论】:

  • 一旦我将返回 YES 更改为返回 NO...不知道为什么...但只是让每个人都知道。
猜你喜欢
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-25
相关资源
最近更新 更多