3

我正在制作一个浏览器类型的应用程序..

现在我已经让 Url 输入文本字段...它显示了键盘..

现在我把它做成了 Url 类型的键盘。它有 Go 按钮,iPad 有一个隐藏键盘的按钮。

-(BOOL)textFieldShouldReturn:(UITextField *)textField

我知道上面是当用户点击键盘返回时调用的方法..但是对于 iPad ..有两个不同的东西..如果用户按下 Go..我想去新的 URL ..并保持窗口原样用户按下隐藏键盘..但问题是事件报告

-(BOOL)textFieldShouldReturn:(UITextField *)textField

那么我如何区分用户按下Go ..或者只是隐藏键盘..

4

4 回答 4

12

当用户点击隐藏按钮时,UIKeyboardWillHideNotification被调用,所以你应该注册观察它

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(keyboardWillHideHandler:)
                                         name:UIKeyboardWillHideNotification
                                       object:nil];


- (void) keyboardWillHideHandler:(NSNotification *)notification {
    //show another viewcontroller here
}
于 2012-04-14T06:16:34.613 回答
4

显然现在看来 Go 按钮只报告

-(BOOL)textFieldShouldReturn:(UITextField *)textField

并且隐藏键盘按钮不会..

我很确定昨天不是这种情况..但无论如何..我相信我应该为这个混乱负责..如果有人需要清理,我会留下这个问题。

于 2012-04-14T06:58:36.380 回答
0

您尝试使用键盘触摸功能,我认为它会起作用。

于 2012-04-14T07:03:48.077 回答
0

至少在 iOS 12 上,点击隐藏按钮(在 iPad 上)时会调用textFieldDidEndEditing(_:) 。

希望这可以帮助。

于 2019-02-03T13:23:14.543 回答