iOS -- UITableView小技巧

  • UITableView分割线两边留有空隙,想要使得分割线到达tableView边缘
    重写viewDidLayoutSubviews方法调整UIEdgeInsetsMake()来控制空隙。
    iOS -- UITableView小技巧_第1张图片
  • UITableView设置frame之后,发现第一个cell并不是从tableView上边沿开始的,这是Xcode7之后出现的问题,将滚动视图的自动偏移属性设置为NO就可以了。


  • 系统自适应cell高度
    依照下面的代码修改代理方法。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
    }
    cell.textLabel.numberOfLines = 0;
    cell.textLabel.font = [UIFont systemFontOfSize:10];
    return cell;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

    NSString  *c = self.dataArray[indexPath.row];
    CGFloat contentHeight = [c sizeWithFont:[UIFont systemFontOfSize:10]  constrainedToSize:CGSizeMake(SCREENWIDTH - 20,MAXFLOAT)].height;
    return contentHeight < 13 ? 13 : contentHeight;;
}

你可能感兴趣的:(iOS -- UITableView小技巧)