自动完成错误的键盘框架

时间:2015-06-06 13:11:00

标签: ios swift cocoa-touch

我尝试使用UIKeyboardDidChangeFrameNotification调整布局,以便在键盘更改框架时收到通知。我调整布局的功能正在被调用,并且除非自动完成功能关闭,否则效果很好。

    func keyboardFrameChanged(notification : NSNotification)
    {
        println("Keyboard frame changed")

        var rect = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey]?.CGRectValue())!
        println(rect)
    }

当自动完成功能开启时,我为变量rect获取的值为(0.0, 500.0, 414.0, 236.0),而当自动完成功能关闭时,我(0.0, 465.0, 414.0, 271.0)的值应该是反向的。我不明白为什么要切换这些值。为什么会发生这种情况,我该如何解决?

经过一番研究后,我发现它不仅仅是自动校正,我得到了错误的帧,它基本上都是在每次调用函数时。

1 个答案:

答案 0 :(得分:1)

您应该使用UIKeyboardFrameEndUserInfoKey

var rect = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey]?.CGRectValue())!