我正在测试iPhone 5模拟器上的一些旧应用程序。大多数应用程序都能正常显示,即显示屏居中,保持原始iPhone方面的顶部和底部有空白区域。
我的其中一个应用行为不同。它将启动图像(旧的2:3宽高比启动图像)延伸到iPhone 5模拟器从上到下的全高。然后它将应用程序捕捉到窗口的顶部,而不是居中。
我怀疑这与自动布局有关,但据我所知,对这个概念不熟悉,它被禁用了。当我检查文件检查器并且未选择“使用自动布局”时。
有什么想法?谢谢你的阅读!
答案 0 :(得分:5)
从项目中删除Default-568h@2x.png
应解决问题。似乎有几个人在使用Xcode自动创建此启动图像时遇到了问题。
答案 1 :(得分:1)
根据我的经验,看起来当你在XCode 4.5中打开一个项目时,它会自动为每个视图添加一个标记,说“Autoresize subviews”,默认情况下设置为true。当我为所有视图禁用此标志时,它们不再拉伸。有趣的是,我没有在模拟器中获得信箱,而是在底部获得一个白色条带。
答案 2 :(得分:0)
我最终手动设置了iPhone 5的视图,因为我无法找到或解决问题。专门为iPhone 5设置视图相对容易,但在这种情况下不知道为什么它是必要的,这令人沮丧。
我使用此堆栈溢出答案中的以下代码检测到iPhone 5:How to detect iPhone 5 (widescreen devices)?
#define IS_IPHONE_5 ( [ [ UIScreen mainScreen ] bounds ].size.height > 500)
if (IS_IPHONE_5 ) {
//set up views
}
答案 3 :(得分:0)
从项目中删除Default-568h@2x.png,并且必须先从模拟器中手动删除应用程序,然后再从Xcode运行它。看起来ios6为已安装的应用程序保存了某种标志,使其认为应该拉伸它。
答案 4 :(得分:0)
简单地删除Default-568h@2x.png并没有解决我的问题。 首先我删除了这个文件,而不是将640x1136图像拖到Xcode中“iPhone部署信息”部分的“启动图像 - Retina(4英寸)”。
答案 5 :(得分:0)
在iOS 7 Sdk中,如果您未在项目中添加启动图像,则需要 将启动图像(640 X 1136和640 X 960)添加到项目中,然后转到常规选项卡并设置启动图像(Retina,Retina 4英寸),然后从模拟器中删除应用程序并再次运行应解决问题