我使用以下代码
设置UITableView
的行高
[tableView setRowHeight: 100.00];
我在UITableView
。
尽管设置了上面的高度,行的高度不会改变。
答案 0 :(得分:65)
你应该实施
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
委托方法。然后返回100.0。
答案 1 :(得分:23)
如果您的所有行都具有相似的高度并使用heightForRowAtIndexPath
属性,则应避免使用rowHeight
。根据文件:
使用tableView:heightForRowAtIndexPath:而不是rowHeight会对性能产生影响。每次显示表视图时,它都会在每个行的委托上调用tableView:heightForRowAtIndexPath:这会导致表视图具有大量行(大约1000或更多)的显着性能问题。
在UITableViewController子类中,例如,可以在viewDidAppear
方法中完成(UITableViewController
具有对tableView的引用):
self.tableView.rowHeight = 79.f;
答案 2 :(得分:7)
首次显示时,行高会被烘焙到单元格中。
在设置数据源之前,您是否设置了UITableView#rowHeight? 如果没有,请这样做 如果由于某种原因你不能,你的另一个选择是在设置行高后调用UITableView#reloadData。
答案 3 :(得分:3)
我确实喜欢这个,这里tableobj
只是我应用程序中的UITableView
对象。
- (void)viewDidLoad
{
[super viewDidLoad];
[tableObj setRowHeight:100.0f];
}
或者在numberOfRowsInSection:
中处理它:
- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {
[tableObj setRowHeight:100.0f];
return [soandso count]; // soandso is my object
}
因为在设置数据源之前设置了rowHeight
。它对我有用(等排高度)。
答案 4 :(得分:0)
更好更清洁的解决方案是实现委托功能(如果您的UITableView有很多行,可能不是最好的...)。
另外,认为UITableVieCell是UIView所以你可以先改变他们的身高......
代表在iPhone开发中非常强大,这里是UITableViewDelage:
您还可以更改indentForRow,displayCellForRow,heightForRow,编辑内容......
答案 5 :(得分:-5)
我认为UITableView中没有这样的方法...
相反,您可以使用属性rowHeight ...
尝试,
tableView.rowHeight = 100;