在iOS8中,如何在iMessages / FB Messenger中以横向模式启用键盘?
在我的项目中,我有textViews与相关的input键盘在iOS8下的iPhone 6 Plus上的横向模式有奇怪的外观,如下所示:
内部有时似乎有不同的方向。
但是在某些情况下,键盘旋转很好,但是在方向改变和其他可见的错误时仍然有白色的空隙:
最后我们有了普通的扩展景观视图:
问题是如何获得没有错误的扩展键盘,如下所示:
将项目从xCode5.1
(及更早版本)迁移到xCode5.1
,要做的很重要的事情是修改Info.plist
文件,方法是添加Launch screen interface file base name
密钥
您可以将事件设置为空string(通常是Launch xib
的名称)。 如果没有这个简单的第一行将有上面的截图所呈现的所有问题。
“ Launch screen interface file base name
的缺失导致以旧设备的标准分辨率在兼容模式下工作。 我们在每种情况下运行下面的代码
NSLog(@"bounds = %@", NSStringFromCGRect(UIScreen.mainScreen.bounds));
与Launch xib
一个得到
bounds = {{0, 0}, {414, 736}} // for iPhone 6Plus bounds = {{0, 0}, {375, 667}} // for iPhone 6
没有它得到
bounds = {{0, 0}, {320, 568}}
所以,最后一种情况确实是兼容模式。
我发现了同样的问题。 当我只允许我的视图控制器的一个旋转。一旦我进入屏幕内部,我启用了屏幕旋转,而从屏幕出来,我禁用它。除了键盘UI之外,每件事情都很好。我search了很多论坛的解决scheme,但没有发现任何有用的东西。 无论如何,我试图了解模式,发现我使用viewDidDisappear而不是viewWillDisappear。
重要的是要禁用方向,然后再去另一个屏幕。希望这有助于。