UITableView - 获取现有的viewForHeaderInHeaders

时间:2013-04-03 15:33:43

标签: ios uitableview

我想在UITableView中获取现有的标题视图,以便我可以更新它们的外观。我一直无法找到类似于visibleCells的方法,它会返回标题视图而不是单元格。这是可能的,还是我应该在创建过程中存储这些视图?

2 个答案:

答案 0 :(得分:1)

您应该将它们存储在NSMutableArray中。以下是一些示例代码:

@interface ViewController : UITableViewController (UITableViewDataSource, UITableViewDelegate)
@property (nonatomic, strong) NSMutableArray *sectionHeaderViews;
@end


@implementation ViewController

- (void)viewDidLoad {
  self.sectionHeaderViews = [NSMutableArray array];
  NSInteger numOfSections = [self numberOfSectionsInTableView:self.tableView];
  for(int i=0; i<numOfSections)
  {
     CustomHeaderView *headerView = [[CustomHeaderView alloc] init];

     // customize headerView here
     ...

     [self.sectionHeaderViews addObject:headerView];
  }
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
  return [self.sectionHeaderViews objectAtIndex:section];
}

- (void)updateViewForSection:(NSInteger)section {
  CustomHeaderView *headerView = [self.sectionHeaderViews objectAtIndex:section];

  // update headerView here
  ...

  // reload section
  [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation: UITableViewRowAnimationAutomatic];
}

@end
祝你好运!

答案 1 :(得分:0)

[tableView headerViewForSection:sectionNum];