3

在我的项目中,我有带有关联输入键盘的textViews,它在 iOS8 下的 iPhone 6 Plus 上的横向模式下看起来很奇怪,如下所示:

在此处输入图像描述

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

但在某些情况下,键盘可以很好地旋转,但在方向更改和其他可见错误期间仍然有白色间隙:

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

4

2 回答 2

4

xCode5.1在将项目从(和更早的)迁移到时要做的非常重要的事情是通过添加密钥xCode6 来修改文件Info.plistLaunch screen interface file base name

在此处输入图像描述

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

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

于 2014-11-13T00:32:28.970 回答
0

我发现了同样的问题。当我只允许我的视图控制器中的一个旋转时。当我进入屏幕内部时,我正在启用屏幕旋转,而当我离开屏幕时,我正在禁用它。除了键盘 UI 之外,一切都工作正常。所以我搜索了许多论坛以寻找解决方案,但没有发现任何有用的东西。无论如何,我试图理解这种模式并发现我使用的是 viewDidDisappear 而不是 viewWillDisappear。

在进入另一个屏幕之前禁用方向很重要。希望这会有所帮助。

于 2015-05-19T09:48:30.273 回答