我有一个iPhone 4和5的项目,现在我正在考虑支持iphone 6和6 +。
我在代码中写了所有内容,即没有xib
或storyboard
,所以一些UI元素被指定为绝对大小。例如,UIImageView
的单元格中有tableView
:
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
目前,我尚未为iphone 6及plus添加启动图像,因此这些视图在iphone 6及plus中均为缩放版本。
我的问题是,如果我添加了启动图像,是否需要为iPhone 5,6和6 plus指定不同的帧?这将是一项艰巨的任务,因为我需要添加大量的代码。
答案 0 :(得分:1)
我认为在你的情况下,这是切换到XIB或Storyboard的最佳时间,而不是通过代码设置框架。如果您使用自动调整大小/布局机制,那么当Apple引入新设备时,您可能不需要太担心这些问题。它肯定会减少你支持新决议的努力。
答案 1 :(得分:1)
相对大小=不使用绝对数字,或使用视图的autoresizingMask属性来保持相对排列。
答案 2 :(得分:0)
对于iPhone 6和iPhone 6 Plus支持,您需要将LaunchScreen.xib
文件添加到项目中。是的,你是对的,那些依赖于标准iPhone宽度的静态尺寸将在那一刻被打破。所以使用相对大小比绝对大小更好