Blu*_*ear 18 objective-c uitableview ios
我的UITableView在每个部分都有自定义的UIView标头.我只需要刷新标题而不是该部分中的其他内容.我已经尝试了UITableView,即使它应该也没有返回任何东西.无论如何我能做到这一点吗?
编辑:基于新建议的代码
我也给了它一个镜头,它在该方法中调用/更新UIView,但是这些更改不会在视觉上传播到屏幕上.
for (int i = 0; i < self.objects.count; i++) {
UIView *headerView = [self tableView:self.tableView viewForHeaderInSection:i];
[headerView setNeedsDisplay];
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*uch 19
而不是调用setNeedsDisplay,通过设置它的属性自己配置标头.当然,您必须获取表中的实际标头,不要调用委托方法,因为该方法通常会创建新的标头视图.
我通常在一个小调用方法中执行此操作tableView:viewForHeaderInSection:.
例如:
- (void)configureHeader:(UITableViewHeaderFooterView *)header forSection:(NSInteger)section {
// configure your header
header.textLabel.text = ...
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UITableViewHeaderFooterView *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:@"Header"];
[self configureHeader:header forSection:section];
}
- (void)reloadHeaders {
for (NSInteger i = 0; i < [self numberOfSectionsInTableView:self.tableView]; i++) {
UITableViewHeaderFooterView *header = [self.tableView headerViewForSection:i];
[self configureHeader:header forSection:i];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19564 次 |
| 最近记录: |