2014-04-15 78 views
-1

我需要在視圖控制器內創建一個表視圖,但問題是高度爲4s & 5是不同的。所以會發生什麼情況是表視圖適合4s的底部,但在iphone 5上桌高停在視圖的中間。xcode:在視圖控制器中的自動錶高度

如何讓桌面高度自動調整到兩個設備的視圖底部?

謝謝!

+1

查看[自動佈局](http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1)。 – NobodyNada

回答

2

試試這個:

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

這實際上在我現有的表的頂部創建了另一個表,而不是現有表 – dan

+0

這裏只是一個示例,您應該像這樣設置tableView,而不是直接複製代碼並在項目中使用。 – simalone

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爲好。