本文主要是介绍ios9键盘 level级别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如下图所示,当键盘已经弹起的时候,再显示我们自己写的确认窗口等window,会发现window被键盘挡住了。
这是因为iOS9下系统键盘的windowLevel是很高的,达到10^7。而且进一步发现,这个值是系统允许的最大值。如果把某个window的windowLevel改成比10^7大的值,系统只会设为10^7。
解决这个问题有两种方法:
一个是把我们自己window的level调大,同样设为10^7,因为比系统键盘晚出现,所以还是能够把系统键盘盖住。这种方法的缺点是使得window的层次结构不好管理,且依赖于系统键盘的level。而且window上也无法再显示UIAlertView等系统窗口了。
另一种方法是在显示window时先调用[mainWindow endEditing:YES],把主window的键盘收起来,然后再显示window。这种方法的缺点是,有些场景下用户是正在输入的,收起键盘对用户的体验不好。
两种方法各有优缺点,可以根据使用场景来选择。
这篇关于ios9键盘 level级别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!