iPhone 5模拟器 - 无法点击屏幕底部?

7

我正在尝试更新一个应用程序,以添加对iPhone 5的支持。根据我看到的其他帖子,我已经按照规定添加了Default-568h@2x.png,并且我已经添加了一些大小适当的新背景图像到应用程序中。问题是我的应用程序底部似乎没有响应触摸(我有一个页面控制和一个信息按钮)。

此外,在切换屏幕时(使用以下代码):

[self presentModalViewController:tableNavController animated:YES];

屏幕底部变黑了。这个黑色区域基本上就是我无法触摸的地方。以下是此问题的截图: 带黑条的屏幕截图 你有什么想法,为什么会出现这种情况?为什么我无法访问这个底部区域?请注意,如果我运行常规的iPhone 4S或iPad模拟器,就不会出现这种情况。我可以访问整个屏幕区域。
编辑:这可能是模拟器的问题吗?我还没有一台真正的iPhone 5,所以无法在实际设备上进行测试。
编辑2:我已经尝试在视图和应用程序主窗口上启用和禁用“自动布局”。如果我在viewDidLoad中添加以下日志语句:
NSLog(@"Window is: %0.0fx%0.0f", window.frame.size.width, window.frame.size.height);
NSLog(@"View is: %0.0fx%0.0f", viewController.view.frame.size.width, viewController.view.frame.size.height);

我收到的消息是窗口大小为:320x480。视图大小为:320x548。所以看起来可能是窗口的问题。 我将继续调查。


你正在显示的视图尺寸是多少?您是否在使用AutoLayout? - Simon Germain
4个回答

5
这可以通过在窗口上启用“全屏启动”来解决。删除并重新创建只是启用此功能的方法。

5

问题已解决。尽管视图已经调整大小,但主窗口没有被调整大小。我从xib中删除了该窗口,创建了一个新的并重新链接它。这样问题就解决了。


请查看此答案(来自重复的问题)以获取确切的代码:https://dev59.com/7WnWa4cB1Zd3GeqP1IDn#12851923 - avance

4

更简单的解决方法是选择窗口并切换到属性检查器。将大小更改为Retina 4全屏


0
一个更简单的解决方案是选择窗口并切换到属性检查器。将大小更改为Retina 4全屏。
Steven的答案基本上是正确的。但是现在你的窗口比3.5英寸设备的屏幕大,而在4英寸设备上则是正确的尺寸。基本上,如果您稍后有任何引用窗口的内容,则必须在运行时调整窗口大小,因为否则会返回4英寸的窗口。
例如,如果您在代码中使用了以下内容: [[[UIApplication sharedApplication] delegate] window]
只要小心使用,这样做对于大多数应用程序都有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接