xcode:视图控制器中的自动表高度

时间:2014-04-15 02:13:45

标签: ios iphone objective-c xcode

我需要在视图控制器内创建一个表视图,但问题是4s&的高度。 5是不同的。所以会发生的情况是桌面视图在4s上适合底部,但在iphone 5上,桌面高度在视图中间停止。

如何让表格高度自动适合两个设备的视图底部?

感谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
self.tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:self.tableView];

答案 1 :(得分:0)

你可以借助自动布局:

来做到这一点
self.tableView = [[UITableView alloc] init;
//Add Auto Layout constraint For TableView
NSLayoutConstraint *constraint=[NSLayoutConstraint constraintWithItem:self.tableView attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeading multiplier:1.0 constant:0.0];
[self.view addConstraint:constraint];

constraint=[NSLayoutConstraint constraintWithItem:self.tableView attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTrailing multiplier:1.0 constant:0.0];
[self.view addConstraint:constraint];

constraint=[NSLayoutConstraint constraintWithItem:self.tableView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.0];
[self.view addConstraint:constraint];

constraint=[NSLayoutConstraint constraintWithItem:self.tableView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0.0];
[self.view addConstraint:constraint];

这些约束也适用于所有设备,并且还可以管理TableView的宽度和高度。