我正在尝试更新应用程序以添加对iPhone 5的支持。根据我看到的其他主题,我已按指定添加了Default-568h@2x.png
,并且已向应用添加了一些新的背景图像大小适当。问题是我的应用程序的底部似乎没有响应触摸(我有一个页面控件和一个信息按钮)。
此外,切换屏幕时(使用以下代码):
[self presentModalViewController:tableNavController animated:YES];
屏幕底部黑屏。这个黑色部分基本上就是我无法触摸的地方。这个问题的屏幕截图如下:
关于为什么会发生这种情况的任何想法?为什么我无法访问这个底部?请注意,如果我运行常规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
。所以看起来它可能是我的窗口的问题。我会继续调查。
答案 0 :(得分:5)
想出来。虽然视图是,但主窗口没有调整大小。我从我的xib中删除了窗口,创建了一个新窗口并重新链接它。这解决了这个问题。
答案 1 :(得分:5)
这可以通过在窗口上启用“启动时全屏”来解决。删除和重新创建只会启用此功能。
答案 2 :(得分:4)
更简单的解决方案是选择窗口并切换到“属性”检查器。将大小更改为 Retina 4全屏。
答案 3 :(得分:0)
史蒂文的回答是正确的,主要是。但是现在你的窗口比3.5英寸设备上的屏幕大,而且4英寸设备上的屏幕尺寸合适。基本上,如果您以后有任何引用该窗口的内容,您将不得不在运行时调整窗口大小,因为否则将返回4“窗口。更简单的解决方案是选择窗口并切换到 属性检查器。将尺寸更改为Retina 4全屏。
例如,如果您在代码中使用了此代码
[[[UIApplication sharedApplication] delegate] window]
请注意这一点,据说它适用于大多数应用程序。