tableview 上拉时 标题行出现在顶部不动效果

时间:2023-03-08 17:21:26
tableview 上拉时 标题行出现在顶部不动效果

tableview 上拉时 标题行出现在顶部不动效果tableview 上拉时 标题行出现在顶部不动效果

类似这种效果:

其实很简单,利用tableview 的plain属性,然后使用section,其实滑上去不动的是  section的headView.

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return ;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
if (section==||section==) {
return ;
}else{
return ;
}
} -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (cell==nil) {
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
[cell.textLabel setText:[NSString stringWithFormat:@"%ld-%ld",(long)indexPath.section,(long)indexPath.row]];
return cell;
} -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
if (section==||section==) {
UIView *view=[[UIView alloc]initWithFrame:CGRectMake(, , tableView.frame.size.width, )];
if (section==) {
[view setBackgroundColor:[UIColor redColor]];
}else{
[view setBackgroundColor:[UIColor greenColor]];
}
[view setUserInteractionEnabled:YES];
return view;
}
return nil;
} -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
if (section==) {
return 0.1;
}else{
return ;
}
}

注:tableview 一定不能设置成group,一定是plain!