更改iPad键盘高度的通知

时间:2011-08-18 01:50:45

标签: ipad keyboard notifications

我正在尝试在iPad键盘上显示UITextField。

当它显示通知时,我能够获得键盘的高度。

然而,在iPad中,通过更改键盘的语言输入 - >最有可能是日语,键盘的高度发生了变化,因为键盘顶部显示了一个文本假设区域,导致我的UITextfield被该区域隐藏....

有人知道我怎样才能获得高度变更通知或其他任何方式?

2 个答案:

答案 0 :(得分:2)

答案是,当您切换语言时,UIKeyboardDidShowNotification会针对每次更改触发,因此您始终可以获得更新的高度。

See my answer here关于如何设置对显示和隐藏的响应以及获得高度。

答案 1 :(得分:1)

<强>夫特

UIKeyboardDidShowNotification不会再触发键盘尺寸更改。

改为使用UIKeyboardWillChangeFrameNotification

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(instance.keyboardWillChange(_:)), name:UIKeyboardWillChangeFrameNotification, object: nil)

在函数:

let targetSize = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.CGRectValue() 

重要提示:当键盘打开并隐藏时,此事件也会被触发,如果只需要尺寸,则可以替换UIKeyboardWillShowNotificationUIKeyboardWillHideNotification