【发布时间】:2016-05-06 09:18:45
【问题描述】:
我的应用中有一个视图,其中有 1 个文本字段。而且我注意到第二次点击后会出现键盘。
但有趣的是,在 iPhone 上有时会出现(有时会在第一次点击后出现,有时仅在第二次点击后出现)。 在 iPad 上,它似乎只在第二次点击后才会出现。
我用
UITextFieldDelegate在
viewDidLoad中我分配了代理_locationTextField.delegate = self;我使用委托方法
textFieldDidBeginEditing、textFieldDidEndEditing、textFieldShouldReturn
例如:
#pragma mark -
#pragma mark UITextFieldDelegate
- (void)textFieldDidBeginEditing:(UITextField *)textField {
_locationNameBeforeManualEdit = _locationTextField.text;
// save the previod city value to compare after did end editing
NSLog(@"textFieldDidBeginEditing");
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
NSLog(@"textFieldDidEndEditing");
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[self continueButtonPressed:nil];
// [textField resignFirstResponder];
return YES;
}
可能是什么问题?
【问题讨论】:
-
你实现了
UITextFieldDelegate的其他方法吗?你的方法执行了吗? -
如果您使用 Storyboard?
-
在控制台中,我看到所有 3 种方法都已执行。代码中只有这 3 个方法(如上所述)。没有从情节提要处理任何事件。
-
看起来它与 iPad 更相关 - 即使在第 3 次/第 4 次点击之后,键盘也会出现在它上面。在 iPhone 上,键盘通常会立即出现,并且很少在第二次点击后出现。无法弄清楚这可能是原因)
标签: ios objective-c keyboard uitextfielddelegate