如何在界面生成器中制作与 4 英寸 iphone5 和旧 iPhone 4/4s 兼容的 uitableview?
Xcode 4.5 中有三个选项:
- 自由形式
- 视网膜3.5全面屏
- 视网膜4全面屏
如果我选择 Retina 4,那么在 3.5 英寸手机中它会越过/溢出屏幕边框
使用代码,我可以相应地设置框架,但是使用界面生成器有什么用呢?
应该如何使用 Interface Builder 来做到这一点?
编辑
我的问题是针对 iphone 5 视网膜 4 英寸屏幕。在检查具有状态栏和导航栏的视图大小时,这里是 self.view.frame.size.height/width 的值,如果我选择 freeform/none/retina 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);
我得到以下输出
320.000000 - 546.000000
320.000000 - 546.000000
并且顶部 480 像素以下的所有行都是不可选择的,因为“视图”仍然认为它们超出了范围。
我的解决方案
将所有屏幕的大小设置为 Retina 4,包括主窗口 xib 文件。在此之后,即使在 iphone 4 上它似乎也能正常工作。并且所有低于 480px 的行现在都可以在 iOS 6 模拟器中点击