我从来没有在我的应用中使用Interface Builder
,也不认为这是好事。
我的应用程序已经设计用于iPad / iPad2布局,但没有考虑过它可以在iPhone4 / iPhone5 / iPAD-mini上运行。 现在我希望我的应用能够解决所有问题。
我认为4 +布局通用应用程序会非常难看,如下所示:
if(ipad or ipad2)
view.frame = CGRectMake(0,0,100,100);
else if(ipad-mini)
view.frame = CGRectMake(0,0,100,100);
else if(iphone4)
view.frame = CGRectMake(0,0,100,100);
else if(iphone5)
view.frame = CGRectMake(0,0,100,100);
else if(iphone6)
view.frame = CGRectMake(0,0,100,100);
else if(iphone7)
view.frame = CGRectMake(0,0,100,100);
理想情况下应该只有2个布局,但我不知道如何实现这种方式。这些固定坐标不会在不同的屏幕尺寸上拉伸
if(ipad or ipad2 or ipad-mini)
view.frame = CGRectMake(0,0,100,100);
else if(iphone4 or iphone5 or iphone6 or iphone7)
view.frame = CGRectMake(0,0,100,100);
如何以最佳方式开发通用应用程序?
答案 0 :(得分:0)
当你开始构建这个应用程序时,你应该做这样的事情:
view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth;
并根据您的需要更改上述选项。
是的,你需要不同的ipad,iphone
答案 1 :(得分:0)
首先,iPhone的布局几乎肯定会与iPad完全不同。对于iPad,所有不同的类型都具有相同的宽高比,因此您需要担心的是带有视网膜的iPad的@ 2x图像。
然而,对于iPhone,您拥有iPhone 4 / 4s VS iPhone 5.此外,您拥有的屏幕空间更少,因此您需要找到在更小的空间内呈现相同信息的方法。这可以使用scrollviews,tableViews完成,并在一个viewController中包含一部分信息,您可以从另一个viewController切换到该视图。
最后,我强烈建议大多数情况下使用界面构建器。它照顾iPhone与iPhone 5,以及肖像与风景。它甚至会在旋转手机时自动设置转换动画。但是,有时候,当您需要进行自定义绘图或我们的布局很难通过界面构建器获得时,最好以编程方式进行。在这种情况下,通过检查[[UIScreen mainScreen] applicationFrame]
的大小来检查哪个设备是一个好方法。检查iPad的值为1024x768,iPhone为320x480,iPhone 5为320x568。
但是,您确实应该使用界面构建器(对于大多数情况)。为什么要完全避免它?