我尝试使用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)
的值应该是反向的。我不明白为什么要切换这些值。为什么会发生这种情况,我该如何解决?
经过一番研究后,我发现它不仅仅是自动校正,我得到了错误的帧,它基本上都是在每次调用函数时。
答案 0 :(得分:1)
您应该使用UIKeyboardFrameEndUserInfoKey
:
var rect = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey]?.CGRectValue())!