我在视图上有几个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;
}
当用户按下选项卡时,textFieldShouldBeginEditing为每个UITextfield控件触发4次。这会生成我不想要的日历。
答案 0 :(得分:1)
以下是答案:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return YES;
}
-(IBAction) textFieldEditingChange:(id) sender
{
UITextField *textField = (UITextField *) sender;
[textField resignFirstResponder];
[self.view addSubview:calendar];
}
textFieldEditingChange连接到UITextField editingDidBegin事件。