【问题标题】:iPhone6 (no display zoom mode) UIMenuController truncatediPhone6(无显示缩放模式)UIMenuController 被截断
【发布时间】:2014-10-22 11:31:19
【问题描述】:

当我使用标准显示模式且设备处于横向模式时,我的 iPhone 6 上的 UIMenuController 出现问题。在 iPhone 6 Plus 上,这两种模式都存在问题。也许这取决于屏幕分辨率。

在这种情况下,UIMenuController 将被向左和/或向右截断。似乎UIMenuController 可以有最大界限,就好像手机处于纵向模式一样。

UIMenuController 截断(iPhone6 横向示意图): http://imageshack.com/a/img631/8470/ozlaGe.jpg“iPhone6横屏”

对我来说,这似乎是一个 iOS8+iPhone 6 的错误。代码很长一段时间都没有改变并且可以工作。 在缩放显示模式下,UIMenuController 将像在所有其他 iPhone/iPad 上一样正确显示,包括。 iOS7.

... define UIMenuItems....
[self becomeFirstResponder]; // canBecomeFirstResponder returns YES;
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuItems:items];

.. define frame...
[menu setTargetRect:frame inView:self];
[menu setMenuVisible:YES animated:YES];

已修复:请参阅 Iliya Barenboim 的评论

【问题讨论】:

    标签: ios iphone uimenucontroller iphone-6


    【解决方案1】:

    原因是您没有 iPhone 6 和 iPhone 6+ 的启动图像。

    我在添加启动图像时遇到的另一件事是,使用资产目录执行此操作时存在错误。我在我的项目中添加了静态启动图像并手动编辑了我的 info.plist,如下所述:https://stackoverflow.com/a/25960203/378179

    【讨论】:

    • 谢谢!这就是我的解决方案。
    【解决方案2】:

    这不是编译问题。我在 Xcode 6.1 中的 iPhone 5 iOS 7.1 模拟器上运行了相同的代码,但问题没有出现——仅当您使用 iPhone 6 / iOS 8 模拟器运行时(当然,在 iPhone 6 设备本身上) .所以这是 iOS 8[.1] 运行时的问题。

    【讨论】:

    • 这个问题只出现在 iPhone 6 设备上。它在装有 iOS 8.1 的 iPod touch 5 上运行良好。
    • 通过 Iliya Barenboim 评论修复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2017-04-17
    相关资源
    最近更新 更多