对于不同的iPhone设备,UITableView Height不适合垂直(底部)容器

时间:2014-10-17 10:52:44

标签: ios iphone uitableview interface-builder autolayout

我的一个视图中有一个UITableView。我一直在iPhone 4S上测试应用程序,它一直很好用。现在我尝试在iPhone 5S(屏幕更高)上进行测试。 UITableView不适合底部。我知道这与自动布局有关但我不知道如何设置它。

我想到的两种方法是:

1-)以编程方式确定屏幕高度,然后以编程方式设置UITableView Height to Fit屏幕 2-)在Interface Builder中使用自动布局。但我收到警告,AutoLayout仅适用于iOS 8及更高版本。那么我如何为较低版本的iOS实现这个呢?

所以我的问题是:如何动态设置UITableView的高度,使其适合屏幕底部而不管iPhone屏幕的高度?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以为此不同的屏幕尺寸设置不同的tableview。 这在.m文件的标题中定义

#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

这是在viewDidLoad()方法中定义的

 if (IS_IPHONE_5) {
    self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0,0, 320, 568)];
}else{
        // define for 3.5 inch screen
    self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0,0, 320, 480)];
}

我希望这应该有所帮助..