我正在制作浏览器类型应用..
现在我让网址进入 textfield ...显示键盘..
现在我已经把它变成了Url型键盘.. 它有Go按钮,而iPad则是一个隐藏键盘的按钮..
-(BOOL)textFieldShouldReturn:(UITextField *)textField
我知道上面是当用户点击键盘返回时调用的方法。 但对于iPad ..有两个不同的东西..如果用户按下Go ...我想要去新的URL。如果用户按下隐藏键盘,则保持窗口原样。但问题是事件报告
-(BOOL)textFieldShouldReturn:(UITextField *)textField
所以如何区分用户按下Go ..或者只是隐藏键盘..
答案 0 :(得分:12)
当用户点击隐藏按钮时,会调用 UIKeyboardWillHideNotification ,因此您应该注册观察
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHideHandler:)
name:UIKeyboardWillHideNotification
object:nil];
- (void) keyboardWillHideHandler:(NSNotification *)notification {
//show another viewcontroller here
}
答案 1 :(得分:4)
显然现在看来Go按钮只报告
-(BOOL)textFieldShouldReturn:(UITextField *)textField
并隐藏键盘按钮不会..
我很确定昨天情况并非如此......但无论如何......我相信我只能为这个陷入困境负责。如果有人需要清算,我会留下问题。
答案 2 :(得分:0)
你尝试使用键盘的触控功能,我认为它会起作用。
答案 3 :(得分:0)
至少在iOS 12上,点击“隐藏”按钮(在iPad上)会调用textFieldDidEndEditing(_:)。
希望这会有所帮助。