0

我在视图上有几个 UITextField 控件。其中之一是日历。当用户单击文本字段时,它会显示一个日历。当用户在不同的文本字段内按 Tab 时,问题就出现了。选项卡按钮遍历所有文本字段控件,然后显示日历。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    BOOL shouldShowKeyboard = YES;

    if(textField.tag == PLANTED_DATE_TEXTFIELD) // PLANTED_DATE_TEXTFIELD is 1 
    {
        [self.view addSubview:calendar];
        shouldShowKeyboard = NO;

    }

    return shouldShowKeyboard;
}

当用户按下选项卡时,每个 UITextfield 控件都会触发 textFieldShouldBeginEditing 4 次。这会产生我不想要的日历来显示。

4

1 回答 1

1

这是答案:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    return YES;
}



-(IBAction) textFieldEditingChange:(id) sender
{
    UITextField *textField = (UITextField *) sender;
    [textField resignFirstResponder];

    [self.view addSubview:calendar];

}

textFieldEditingChange 连接到 UITextField editingDidBegin 事件。

于 2013-02-18T16:39:05.660 回答