cam*_*ase 24 uitableview ios ios8
我有一个UITableView有五个静态单元格.我需要一个单元格的单元格高度自动调整其内容,这是一个UILabel.
有什么办法可以使用..
tableView.estimatedRowHeight = 42.0
tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)
..对于带有静态单元格的表格视图,或者这仅适用于具有动态原型单元格的表格视图?
(或者你会推荐其他任何方式吗?)
UITableView位于TableViewController中,嵌入到Container View中.
五个静态单元格彼此完全不同,仅在一个应用程序场景中使用,因此我没有看到动态原型和自定义单元格子类的重点.
我像这样更新tableview
-(void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[_myTableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)
我向UILabel添加了约束,如下所述:http: //www.appcoda.com/self-sizing-cells/
小智 45
对于iOS 8,我发现您无法执行与动态表格视图单元格相同的策略.
为了自动调整静态单元格的高度,我实现了这两个UITableViewDelegate方法:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}
-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 44;
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
小智 0
我假设我需要告诉单元格使用类似的东西重绘
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:@[indexPathOfYourCell] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
Run Code Online (Sandbox Code Playgroud)
当涉及到动态改变 tableviewcell 的高度时。
-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return Yourvalue; //return whatever u want ur cell to have size.
}
Run Code Online (Sandbox Code Playgroud)