好的,我知道可以使用通知UIKeyboardWillShowNotification读取键盘的大小,以及这个
keybSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
但这只有在键盘显示时才可用。
但问题是:我有一个窗口,必须在键盘可见和iPhone旋转时调整自己的位置。当我旋转iPhone时,两个委托方法willRotateToInterfaceOrientation和didRotateFromInterfaceOrientation都会运行并处理旋转。在这些方法内部,我需要知道当前键盘的高度,以便正确定位视图。问题是,由UIKeyboardWillShowNotification通知触发的方法在委托方法处理旋转后运行。
方法运行的顺序是:
1. willRotateToInterfaceOrientation 2. didRotateFromInterfaceOrientation 3. UIKeyboardWillShowNotification方法
换句话说,键盘高度只是在最后读取,这意味着方法1和2都将使用旧的键盘高度。
我的问题是:是否有一种直接读取可见键盘高度而不依赖于通知触发的方法的方法?
谢谢