我有一个模态显示的视图,其中包含3个标签。
第三个标签不可编辑,单击时应显示UIDatePicker,如果显示则隐藏键盘。
所以我做到了:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (textField == _birthdateTextField) {
_birthdateDatePicker.hidden = NO;
if ([_firstnameTextField isFirstResponder]) {
NSLog(@"first");
[_firstnameTextField resignFirstResponder];
} else if ([_lastnameTextField isFirstResponder]) {
NSLog(@"last");
[_lastnameTextField resignFirstResponder];
}
return NO;
}
_birthdateDatePicker.hidden = YES;
return YES;
}
我可以清楚地看到我的日志消息(“第一”或“最后”,具体取决于最后聚焦的文本字段),但仍显示键盘。
有人正在弄清楚这是什么问题?
最佳答案
不必通过覆盖textFieldShouldBeginEditing
来完成复杂的工作,您可以在某个地方进行此操作,例如在viewDidLoad
中:
_birthdateTextField.inputView = _birthdateDatePicker;
当您编辑生日日期文本字段时,日期选择器将替换键盘
关于ios - iOS-resignFirstResponder无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14528941/