2014-10-22 53 views
4

当我使用标准显示模式并且设备处于横向模式时,我的iPhone 6上的UIMenuController出现问题。在iPhone 6 Plus中,问题出现在两种模式中。也许这取决于屏幕分辨率。iPhone6(无显示缩放模式)UIMenuController被截断

在这种情况下,UIMenuController将被截断左侧和/或右侧。看起来UIMenuController可以有最大范围,就好像手机处于肖像模式一样。

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

对于我来说,似乎是一个iOS8上的+ iPhone 6的bug。代码很长一段时间没有改变并且工作。 在缩放显示模式下,UIMenuController将正确显示,就像在所有其他iPhone/iPad上一样。 IOS 7。

... 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巴伦博伊姆

回答

0

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

+0

此问题仅限于iPhone 6设备。它在iOS 8.1的iPod touch 5上运行良好。 – 2014-11-26 11:33:38

+0

Fixe via Iliya Barenboim评论! – nlln 2015-04-13 06:59:35

3

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

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

+0

谢谢! 这是我的解决方案。 – nlln 2015-04-02 14:12:06