tableview 上拉时 标题行出现在顶部不动效果
类似这种效果:
其实很简单,利用tableview 的plain属性,然后使用section,其实滑上去不动的是 section的headView.
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 3; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ if (section==1||section==2) { return 15; }else{ return 5; } } -(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==1||section==2) { UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 50)]; if (section==1) { [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==0) { return 0.1; }else{ return 50; } }
注:tableview 一定不能设置成group,一定是plain!