问题
您如何检测表格视图何时完成绘制单元格?
问题
我在 UITableViewCell 的 contentView 中有两个标签。这些标签的大小是动态的。我可以通过继承 UITableViewCell 来做到这一点,在 drawRect 方法中,我根据它们的内容调整两个标签的框架。现在我想对齐所有第二个标签。
我的想法在步骤
- 确定表格视图中的内容并让它自动加载。
- 遍历表格视图单元格并确定距离最远的 UITableViewCell 中第二个标签的 x 位置。
- 存储此 x 位置,并在绘制任何单元格时使用此 x 位置放置第二个标签。
问题是,如果我使用以下代码:
for (int row = 0; row < [self.tableView numberOfRowsInSection:section]; row++) {
UITableViewCustomCell *cell = (UITableViewCustomCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0]];
NSLog ([cell.labelTwo description]);
}
第二个标签尚未绘制,这意味着我无法确定框架的大小,因此无法找到合适的 x 位置来对齐所有第二个标签。
我尝试将 UITableViewController 子类化并查看诸如 viewDidLoad 和 viewDidAppear 之类的事件,不幸的是,在这些事件中单元格尚未绘制。
我想要的是 ...
我想要的是表格视图至少绘制一次单元格,这样我就可以确定表格视图单元格中标签的大小。我想通过使用 cellForRow 遍历所有单元格来实现这一点,但是尽管它成功返回了单元格,但内容尚未绘制,这意味着框架的宽度仍然为零。
有没有人有办法解决吗?
提前致谢,
标记