在 iOS 7 中苹果做了许多改变,其中值得注意的一个问题就是键盘。
有许多在 iOS 6 中运行正常的 app,在 iOS 7 中却出现了键盘无法消失的问题。
例如 iPad 键盘中有一个“释放键盘”按钮,点击它能够使键盘收起。这在大多数 iOS 6 app 中是有效的,但在 iOS 7 下运行这些程序时,你会发现点击“释放键盘”按钮键盘不会消失,甚至当用户通过导航按钮切换到其他窗口,这个键盘也不会消失!
更为严重的是,在这种情况下,所有输入控件都无法获得焦点,你不能进行任何输入!
这种情况多半是由于代码中没有正确的 resignFirstResponder 所导致的。
在 iOS 6 中,输入控件有没有 resignFirstResponder 并不重要,当会话结束,键盘会自动消失。
但在 iOS 7 中,isFirstResponder 的控件似乎是一直存在的,如果你不小心(或者恶意的)在控件里面构成了一个 becomeFirstResponder 的循环,则别的控件就别想获得焦点。哪怕这个控件的 superView 被释放,这个 firstResponder 也会顽固地存在,一直到你关闭应用程序。也就说视图被销毁,firstResponder 仍然不会被销毁。当你在次打开同一视图,这个控件重建,但已经是另一个实例了,原来的那个实例(firstResponder)仍然存在,并且它会一直占有 firstResponder,导致任何输入组件都无法输入。
我们可以制作这样一种恶意的 textField,当它 endEditing 的时候,让它再次 becomeFirstResponder,于是它会一直占有 firstResponder ,其它控件永远别想获得焦点……
分享到:
相关推荐
斯坦福ios7公开课纸牌源码(stanford ios7)
iOS7Colors, 在UIColor上,标准的iOS 7颜色作为一个方便的类别 iOS7ColorsiOS7Colors是UIColor上的一个简单类别,它提供了整个 iOS 7中使用的一些标准颜色。用法集成iOS7Colors最简单的方法是使用 CocoaPods 。 只需...
ios7高级编程iOS7 Programming Cookbook,IOS电子书籍之一,欢迎下载
IOS7 Programming Cookbook
Stanford 公开课 ios7开发课中所讲的所有作业源码
ios7信息界面
iOS7 Activation Bypass是一款用于绕过iCloud来激活IOS设备的工具,支持所有的IOS7.x版本的设备
ios7图标集合AI
移动互联网产品经理必备IOS7部件库 IOS7扁平化图标
12个英文win7系统 ios dvd 原装盘 6个64位6个32位 一共30G en_windows_automated_installation_kit_for_windows_7_and_windows_server_2008_r2_sp1_x86_x64_ia64_dvd_ 619625.ios en_windows_7_professional_with_...
iOS 7 UI Components是iOS7组件的psd文件
下面记录一下ios中ajax回调中播放音乐的问题解决过程 解决方案一 –降低音量 在用户点击时间后将audio的音量设置为0,等success后将音量设置为1; volume可以控制audio的音量大小,取值范围为 0~1 audio.v
斯坦福 iOS7应用开发 assignment 3源代码(Stanford iOS7 已完成大部分作业要求 可供初学者参考
最新的iOS开发技术 iOS 7 App Development Essentials – First Edition ISBN-13: 978-0-9860273-5-2
ios项目适配ios6 ios7 注重页面属性的修改。
IOS7中动态计算UILable的高度
iOS 7 极简风格PSD,UI开发必备