同步软键盘自定义工具条

来源:互联网 发布:美剧网络犯罪调查 编辑:程序博客网 时间:2024/04/27 09:01


在你的代码相关位置添加两个事件
UIKeyboardWillShowNotification,这个是键盘即将弹出的事件通知名称
UIKeyboardWillHideNotification,这个是键盘即将消失的事件通知名称
在这两个通知的回调方法中处理你的工具条动画就行了,键盘的相关参数会在NSNotification实例中的userInfo对象中传过去(键盘的高度、宽度、键盘动画的duration等),你可以在回调函数中根据这些参数处理你的动画,让工具条和键盘动画达到同步的效果。
如果你的系统是ios5,那需要注意一点的就是,不同输入法的键盘高度不同了(可能是216或252),你可能需要根据键盘的具体高度来指定工具条的高度,而不能统一写死为216了。
同时,ios5里面还增加了一个事件通知名称:
UIKeyboardWillChangeFrameNotification
这个通知会在键盘即将改变其大小的时候发出来(比如说键盘弹出、收起、用户切换输入法、用户分享键盘时引起的键盘大小变化),如果你想要你的工具条严格保持在键盘顶部的时候,就需要监听这个事件。

今天在ios5里面偶然发现了问题,补充一下。
UIKeyboardWillChangeFrameNotification
这个通知会在键盘即将改变其大小或位置的时候发出来,包括:
1:键盘弹出、收起。
2:用户切换输入法。
3:用户分割键盘(iPad专有)
4:如果你在viewWillDisappear中让键盘收起(比如说textField resignFirstResponder),键盘似乎不会收起,而只是会改变frame的orig值。

0 0
原创粉丝点击