今天遇到这个问题,即重写的方法
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
可能的原因:
没有设置 delegate
没有重写方法
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
另外在第一个方法中要保证只创建一次view,否则可能会出现一些问题。
- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
if (nowType!=3){
return nil;
}
if (!self.sectionHeaderView) {
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, Screen_Width, 40)];
view.backgroundColor = RGB_Color(242, 242, 242);
UISegmentedControl *sg = [[UISegmentedControl alloc]initWithItems:@[@"item1",@"item2"]];
sg.selectedSegmentIndex = 0;
[sg addTarget:self action:@selector(sg3Click:) forControlEvents:UIControlEventValueChanged];
sg.frame = CGRectMake(5, 5, Screen_Width-10, 30);
sg.tintColor = myblue;
[view addSubview:sg];
self.sectionHeaderView = view;
}
return self.sectionHeaderView;
}