检测iPad键盘隐藏按钮

时间:2010-08-20 16:27:28

标签: ipad

嗨有没有办法检测iPad键盘隐藏按钮?我的意思是当用户按下此按钮时:

alt text

事情将会发生!

4 个答案:

答案 0 :(得分:17)

我不确定你想要完成什么,但也许这可以帮助你:注册NSNotificationCenter以接收UIKeyboardWillHideNotification和/或UIKeyboardDidHideNotification。

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

...

- (void) myKeyboardWillHideHandler:(NSNotification *)notification {
    NSLog(@"Keyboard wants to hide. What a coward.");
}

答案 1 :(得分:0)

将此内容添加到viewDidLoad

// register to track event when user presses hide keyboard button on bottom right cornor for iPAD
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldShouldReturn:) name:UIKeyboardWillHideNotification object:nil];

这将使您在iPAD中按下键盘向下按钮时调用- (BOOL)textFieldShouldReturn:(UITextField *)textField;委托方法。

答案 2 :(得分:0)

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

这实际上在旅途中崩溃了。

但是如果你调用自定义方法,例如: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myCustomeMethodToResignTextFieldResponder)name:UIKeyboardWillHideNotification object:nil];

然后它会正常工作..: - )

答案 3 :(得分:0)

使用Javascript

我为iPad IOS7找到了一个workaroud。我将在IOS8上测试以确保它有效。所以基本上我在每个FOCUSOUT事件上创建一个监听器(对于我的所有文本),然后我调用我的函数。

当您打开键盘并关闭“键盘”时会触发。当您选择另一个文本字段或按钮时,它不会触发,因为它的目标是null。如果与keydown结合使用,则只能在释放键盘时保存多个值并调用提交功能。

document.addEventListener('focusout', function(e) {
        if (e.relatedTarget == null){
            alert("close keyboard without click on something else");
            callYourFunction();
           }
    });