iOS开始时经常会在键盘显示时调整界面布局,iOS 5中当切换为中文输入法时,键盘高度会增加,同时给iPad的键盘增加了分割功能,使得键盘处理情况更加多样化。键盘的消息通知有:
通知 | 描述 |
---|---|
UIKeyboardWillShowNotification | 键盘即将显示 |
UIKeyboardDidShowNotification | 键盘已经显示 |
UIKeyboardWillHideNotification | 键盘即将隐藏 |
UIKeyboardDidHideNotification | 键盘已经隐藏 |
UIKeyboardWillChangeFrameNotification | 键盘frame即将改变 |
UIKeyboardDidChangeFrameNotification | 键盘frame已经改变 |
在开发中其实这些通知并不能按照你所想的那样发生,要注意以下几点:
- 当在英文和中文输入法之间切换时,iPhone中并不会产生UIKeyboardWillChangeFrameNotification和UIKeyboardDidChangeFrameNotification通知,而iPad中会产生。
- ChangeFrame Notification会发生在Show或Hide Notification之前。
- 在iPad中分割键盘会有Hide Notification,合并键盘时才有Show Notification。分割时键盘竟然是隐藏的。