我目前无法通过代码更改UITableView
的高度。
默认情况下,它设置为320
宽度和289
高度。
在代码中,在cellForRowAtIndexPath
的末尾,我有......
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x, self.tableView.frame.origin.y, self.tableView.frame.size.width, [self.myPlayers count] * cell.frame.size.height);
在我返回牢房之前。
我写出了NSLog,它的宽度为320
,高度为88
为2行,这是正确的。但是,我的UITableView
显然与常规尺寸相同(高度289
)。
我需要做些什么来完成这项工作?
谢谢!
答案 0 :(得分:1)
您可以在viewWillAppear:
或viewDidAppear:
处理自己的身高。
可能是这样的
[myTableView setFrame:CGRectMake(20, 10, 725, ([self.myArray count] * 44))]; //44 is default height for cell
如果您计划删除单元格并动态降低表格高度,也可以在tableView:commitEditingStyle:forRowAtIndexPath:
中更新此高度。
但是请确保你没有设置tableview高度超过你拥有的空间,因为那样会查看tableview
希望这会对你有所帮助。
答案 1 :(得分:0)
表格视图的框架在添加和删除表格单元格时会发生变化。如果添加了更多单元格,则tableView高度将会增加。
在您的方面289是向用户显示的TableView帧高度呈现单元格。
1个细胞= 44; //默认
因此,您可以添加两个88大小的单元格,以便用户可以看到它。如果您添加7个单元格
7 cell = 308;
因此您的tableview大小会根据单元格总大小而增加,并且您尝试滚动查看更多单元格
答案 2 :(得分:0)
您必须在viewDidLoad中设置高度。您需要知道要打印的行数。
[myTableView setFrame:CGRectMake(x, y, width, ([self.Players count] * heightRow))];