如何在界面生成器中与4英寸iphone5和较旧的iPhone 4/4s兼容?
Xcode 4.5有三个选项:
如果我选择了Retina 4,那么在3.5英寸手机中它会穿过/溢出屏幕边框
使用代码,我可以相应地设置框架,但是使用界面构建器有什么用?
应该如何使用Interface Builder进行操作?
编辑
我的问题是iphone 5视网膜4英寸屏幕.当检查具有状态栏和导航栏的视图的大小时,这里是self.view.frame.size.height/width的值,如果我选择自由形式/无/视网膜3.5,则为320.000000 x 416.000000
设置自动调整大小选项,以便视图在所有方向上扩展,即启用所有支柱和弹簧.
编辑 在iOS6模拟器中进行测试,如果我在代码中设置以下内容
self.tableView.frame = CGRectMake(0, 0, 320, 546);
self.tableView.bounds = CGRectMake(0, 0, 320, 546);
self.view.frame = CGRectMake(0, 0, 320, 546);
self.view.bounds = CGRectMake(0, 0, 320, 546);
NSLog(@"%2f - %2f", self.view.bounds.size.width, self.view.bounds.size.height);
NSLog(@"%2f - %2f", self.tableView.bounds.size.width, self.tableView.bounds.size.height);
Run Code Online (Sandbox Code Playgroud)
我得到以下输出
320.000000 - 546.000000
320.000000 - 546.000000
Run Code Online (Sandbox Code Playgroud)
并且从顶部开始的480 px以下的所有行都是不可选择的,因为"视图"仍然认为它们超出界限.
我的解决方案
为所有屏幕设置Retina 4的大小,甚至是主窗口xib文件.在此之后,它甚至可以在iphone 4上正常工作.现在,所有低于480px的行都可以在iOS 6模拟器中点击