【问题标题】:textBox is not firstResponder even though it is the only textBox I have pickedtextBox 不是 firstResponder 即使它是我选择的唯一文本框
【发布时间】:2014-03-04 03:58:40
【问题描述】:

运行程序后,我选择第一个文本框,然后选择第二个文本框。 fNameDone 在 textBox 1 touchUpOutside 时运行。NSLogs 用于检查文本框是否是第一响应者并且两个 nslogs 都返回 false。但它是我选择的唯一文本框。我的最终目标是让我选择的每个文本框,当我 touchUpOutside 时键盘消失。

- (IBAction)fNameDone:(id)sender
{
    if([_firstName isEditing])
        NSLog(@"True");
    else
        NSLog(@"False");
    [self.view endEditing:TRUE];
    if([_firstName isEditing])
        NSLog(@"True");
    else
        NSLog(@"False");
}

【问题讨论】:

    标签: ios7 first-responder


    【解决方案1】:

    试试这个(iOS 中没有文本框我想你的意思是 TextField)

      - (BOOL)textFieldShouldReturn:(UITextField*)aTextField
        {
            if(aTextField.tag == 100){
    
              [pickerView setHidden:YES];
              return NO;
            }
    
            [aTextField resignFirstResponder];
            return YES;
        }
    

    别忘了设置textfield的委托

    编辑:

    - (void)textFieldDidBeginEditing:(UITextField *)textField
    {
        if(aTextField.tag == 100){
              firstField.inputVIew = pickerView ;
            }
    }
    

    【讨论】:

    • 我有多个文本字段。其中一个 textFields 拉出一个 datePicker。当我选择了拉起键盘的任何其他字段时,当我选择它时,我看不到该 textField 上的 datePicker。当有多个 textField 时,这个函数如何工作?
    • 这个委托方法只是简单地退出了文本字段(键盘或日期选择器)的第一响应者。没有显示日期选择器的原因可能是您可能没有将文本字段的inputView属性设置为选择器视图
    • 当我第一次选择 datePicker 时,它显示得很好。但是,如果选择另一个拉起键盘的文本字段,然后选择 datePicker 文本字段,则键盘会保持不变,我会假设覆盖了 datePicker。
    • 好的,我们离我们更近了一步。现在,当我选择拉出 datePicker 的 textField 时,键盘也会弹出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    相关资源
    最近更新 更多