【问题标题】:How can one enable keyboard like in iMessages/FB Messenger in landscape mode at iOS8?如何在 iOS8 的横向模式下启用像 iMessages/FB Messenger 这样的键盘?
【发布时间】:2015-01-03 11:34:46
【问题描述】:

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

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

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

最后我们有了普通的扩展横向视图:

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

【问题讨论】:

    标签: ios keyboard ios8 imessage facebook-messenger


    【解决方案1】:

    将项目从 xCode5.1(及更早版本)迁移到 xCode6 时要做的非常重要的事情 就是修改Info.plist文件,加上Launch 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}}
    

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

    【讨论】:

    • 有这样的流程: 1. 纵向屏幕----启用键盘----纵向打开键盘 2. 转到下一个横向屏幕----通过单击文本字段启用键盘----以横向模式打开键盘。 3. 返回纵向屏幕-----启用键盘----横向打开键盘。怎么办...上述解决方案没有帮助。
    • 它也不适用于我的情况。请务必提供任何替代解决方案
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-02-25
      • 1970-01-01
      • 2012-08-24
      • 2018-02-01
      • 2014-05-25
      • 2020-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多