如何在iOS 8的横向模式下启用iMessages / FB Messenger中的键盘?

时间:2014-11-06 19:59:28

标签: ios keyboard ios8 imessage facebook-messenger

在我的项目中,我有带有相关输入键盘的textViews,在iOS6下的iPhone 6 Plus上的横向模式下具有奇怪的外观,如下所示:

enter image description here

它有时在内部有不同的方向。

但在某些情况下,键盘旋转正常但在方向更改和其他可见错误时仍有白色间隙:

enter image description here

最后我们有了普通的扩展景观视图:

enter image description here

问题是人们如何能够获得没有错误的扩展键盘,如下所示:

enter image description here

2 个答案:

答案 0 :(得分:4)

将项目从xCode5.1(及更早版本)迁移到xCode6时,非常重要的事情 是通过添加Info.plist密钥

来修改Launch screen interface file base name文件

enter image description here

您可以将事件设置为空字符串(通常是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}}

所以,最后一种情况确实是兼容模式。

答案 1 :(得分:0)

我发现了同样的问题。当我只允许我的一个视图控制器旋转时。当我进入屏幕时,我正在启用屏幕旋转,当我从屏幕出来时,我正在禁用它。除了键盘UI之外,每件事情都很好。所以我搜索了许多论坛的解决方案,但没有发现任何有用的东西。无论如何,我试图了解模式并发现我使用的是viewDidDisappear而不是viewWillDisappear。

重要的是在它进入另一个屏幕之前禁用方向。希望这有帮助。