Mar*_*ark 6 iphone uitableview drawrect
如何检测表格视图何时完成绘制单元格?
我在UITableViewCell的contentView中有两个标签.这些标签的大小是动态的.我能够通过子类化UITableViewCell来实现,在drawRect方法中,我根据内容调整两个标签的帧.现在我想对齐所有第二个标签.
问题是,如果我使用以下代码:
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]);
}
Run Code Online (Sandbox Code Playgroud)
第二个标签尚未绘制,这意味着我无法确定框架的大小,因此无法找到正确的x位置来对齐所有第二个标签.
我已经尝试了对UITableViewController进行子类化,并且在这些事件中不幸地查看了诸如viewDidLoad和viewDidAppear之类的事件,还没有绘制单元格.
我想要的是表格视图至少绘制一次单元格,以便我可以确定表格视图单元格中标签的大小.我想通过使用cellForRow循环遍历所有单元格来实现此目的,但是虽然它成功返回单元格但是内容未被绘制,这意味着框架保持宽度为零.
有没有人有办法解决吗?
提前致谢,
标记
在绘制任何内容之前,尝试调用sizeWithFont:
这些标签的内容来获取最大宽度。您应该能够在稍后使用它来cellForRowAtIndexPath:
根据需要调整宽度。
我建议您重新考虑使用UITableViewCellStyleValue2
单元格并尝试配置textLabel和detailTextLabel。我也遇到过类似的情况,我就是这样做的。
归档时间: |
|
查看次数: |
2164 次 |
最近记录: |