iPhone 4S和iPhone 5上的故事板看起来不同

时间:2013-01-17 14:18:09

标签: ios retina-display xcode-storyboard

我正在开发使用XCode 4.5.2和最新SDK的iPhone应用程序。

在项目设置上,我将5.0设置为部署目标。

我是iPhone 5开发的新手,我不知道如何为iPhone 4S和iPhone 5使用相同的故事板。

使用带有Retina 4外形的Storyboard,当我在带有硬件的模拟器上运行我的应用程序时,我得到了这个 - >设备 - > iPhone(Retina 3.5英寸)设置:

enter image description here

这就是我得到的(我取消选中使用autolayout)。

如何才能让它在iPhone 4S上看起来很好?

1 个答案:

答案 0 :(得分:1)

如果您使用的是iOS 6,则可以使用AutoLayout

要支持Retina屏幕和iOS 5中的普通屏幕,您需要设计一个屏幕尺寸的视图,然后在代码中以编程方式检查其正确的屏幕尺寸

CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;  
CGFloat screenWidth = screenSize.width;
CGFloat screenHeight = screenSize.height;

如果屏幕尺寸不正确,则需要按代码重新排列UI元素。 这很糟糕,但是没有其他方法可以使用1个故事板文件。

另一种可能性是为另一个屏幕大小创建第二个故事板文件,并在应用程序委托中检查屏幕大小以确定您要使用的故事板文件。 (这也可以通过iOS 5的一个故事板文件和iOS 6的一个故事板文件来完成,这样您就可以在iOS 6故事板中启用AutoLayout以支持所有屏幕尺寸)