我从来没有在我的应用程序中使用过Interface Builder,也不认为这是件好事。
我的应用程序已经为iPAD/iPAD 2布局而设计,从来没有考虑过让它在iPhone5 4/iPhone5 5/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);我如何以最好的方式做一个通用应用程序?
发布于 2013-06-18 22:39:28
当你开始开发这个应用程序的时候,你应该做这样的事情:
view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth;你会根据你的需要改变上面的选项。
是的,你需要不同的ipad,iphone
发布于 2013-06-18 22:53:29
首先,您的iPhone布局几乎肯定会与iPad大不相同。对于iPads来说,所有不同的类型都有相同的纵横比,所以你需要担心的就是拥有iPad和视网膜的@2x图像。
然而,对于iPhone,您有iPhone 4/4s和iPhone 5。而且,您的屏幕空间要小得多,所以您需要找到在更小的空间中显示相同信息的方法。这可以使用滚动视图、tableViews和在一个viewController中有一个可以从另一个viewController切换到的信息的一部分来完成。
最后,在大多数情况下,我强烈推荐界面构建器。它负责iPhone和iPhone 5,以及肖像画和风景。它甚至会在旋转手机时自动激活过渡。但是,有时候,当您需要进行自定义绘图时,或者我们的布局真的很难用接口生成器获得时,最好是以编程的方式进行。在这种情况下,检查[[UIScreen mainScreen] applicationFrame]的大小是检查哪个设备的好方法。检查iPad的值为1024x768,iPhone为320x480,iPhone 5为320x568。
但是,您确实应该使用接口构建器(在大多数情况下)。你为什么要回避呢?
https://stackoverflow.com/questions/17179888
复制相似问题