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

时间:2012-10-01 18:26:26

标签: iphone objective-c ios iphone-5

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

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

[self presentModalViewController:tableNavController animated:YES];

屏幕底部黑屏。这个黑色部分基本上就是我无法触摸的地方。这个问题的屏幕截图如下:

Screenshot with Black bar

关于为什么会发生这种情况的任何想法?为什么我无法访问这个底部?请注意,如果我运行常规iPhone 4S或iPad模拟器,则不会发生这种情况。我可以访问整个屏幕部分。

编辑:这可能是模拟器问题吗?我还没有物理iPhone 5,所以我无法在真实设备上测试它。

Edit2:我已尝试在视图和应用程序主窗口上启用和禁用Auto-Layout。如果我将以下日志语句添加到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);

我收到了Window is: 320x480. View is: 320x548。所以看起来它可能是我的窗口的问题。我会继续调查。

4 个答案:

答案 0 :(得分:5)

想出来。虽然视图是,但主窗口没有调整大小。我从我的xib中删除了窗口,创建了一个新窗口并重新链接它。这解决了这个问题。

答案 1 :(得分:5)

这可以通过在窗口上启用“启动时全屏”来解决。删除和重新创建只会启用此功能。

答案 2 :(得分:4)

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

答案 3 :(得分:0)

  

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

史蒂文的回答是正确的,主要是。但是现在你的窗口比3.5英寸设备上的屏幕大,而且4英寸设备上的屏幕尺寸合适。基本上,如果您以后有任何引用该窗口的内容,您将不得不在运行时调整窗口大小,因为否则将返回4“窗口。

例如,如果您在代码中使用了此代码 [[[UIApplication sharedApplication] delegate] window]

请注意这一点,据说它适用于大多数应用程序。