【发布时间】:2014-05-21 02:50:37
【问题描述】:
我有一个带有 UIView 的自定义单元格,我正在尝试更新 cellForRowAtIndexPath 中的框架。对于在第一轮行中加载的行,帧都已成功更新。但是,需要滚动才能看到的行不会更新其视图框架,直到将它们滚动到视图中,将它们滚动到视图之外,然后再将它们滚动回视图。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
RoundCell *cell = (RoundCell *)[tableView dequeueReusableCellWithIdentifier:@"RoundCell"];
CGRect frame = CGRectMake(160, 10, 50, 22);
cell.rightConfidenceBar.frame = frame;
}
对于最初未加载的行,为什么我需要在更新其 UIView 框架之前将它们滚动到视图中,然后滚动到视图中?
【问题讨论】:
-
为什么不在自定义单元格的实现中设置
rightConfidenceBar的框架?那就是它所属的地方。 -
真正的实现比较复杂,这个栏的边框(特别是宽度)需要在运行时根据从服务器接收到的数据动态设置。
-
查看有关 cell dequeing 的文档。 developer.apple.com/library/ios/documentation/uikit/reference/…:
-
这不会改变任何事情。将数据交给单元格,让单元格自行布局。
-
我不确定你的意思。我的自定义单元格只有一个头文件,其属性连接到情节提要。
标签: ios objective-c uitableview