美文网首页IOS | MAC
iOS中tableView常用属性设置

iOS中tableView常用属性设置

作者: 饭_米粒 | 来源:发表于2015-11-04 13:41 被阅读2314次

    一、tableView的属性
    1.取消cell的分割线

    tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    

    2.取消tableView右侧的滚动条

    tableView.showsVerticalScrollIndicator = NO;
    

    3.当tableview数据较少时,动态隐藏tableView的底部线条

    tableView.tableFooterView = [[UIView alloc]init];
    

    4.设置tableView的偏移量

    [myTableView setContentOffset:CGPointMake(0, 100)     animated:YES];
    

    5.隐藏tableView的footerView

    tableView.sectionFooterHeight = 0;
    

    6.设置tableView中cell的分割线左边距距离

    if ([_tableView respondsToSelector:@selector(setSeparatorInset:)]) { 
    [_tableView setSeparatorInset:UIEdgeInsetsZero]; }
     if ([_tableView respondsToSelector:@selector(setLayoutMargins:)]) { 
    [_tableView setLayoutMargins:UIEdgeInsetsZero]; } 
    //初始化tableView时设置
    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
    {
     if ([cell respondsToSelector:@selector(setSeparatorInset:)]) { 
        [cell setSeparatorInset:UIEdgeInsetsZero];
     } 
      if ([cell respondsToSelector:@selector(setLayoutMargins:)]) { 
        [cell setLayoutMargins:UIEdgeInsetsZero]; }
    }
    

    7.tableView选中时反选

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    { 
      [tableView deselectRowAtIndexPath:indexPath animated:YES];
    }
    

    8.在tableView索引中显示搜索按钮

    - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
    { 
      NSMutableArray *arr = [[NSMutableArray alloc] initWithCapacity:0];
     [arr addObject:@"{search}"];//等价于[arr addObject:UITableViewIndexSearch]; return arr;
    }
    

    二、Cell的属性
    1.设置单元格选中时的背景色
    方法一、

    UIImageView *imageView = [UIImageView alloc]init];
    imageView.backgroundColor = [UIColor clearColor];
    cell.selectedBackgroundView = imageView;
    

    方法二、

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIndentifer];
    UIView* bgview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
    bgview.opaque = YES;
    bgview.backgroundColor = [UIColor orangeColor];
    [cell setBackgroundView:bgview];
    

    2.设置单元格默认背景色
    通过属性设置

    cell.contentView.backgroundColor = [UIColor redColor];
    

    通过方法设置

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
     {
     cell.backgroundColor = [UIColor redColor];
    }
    

    3.取消单元格选中时背景色

    cell.textLabel.highlightedTextColor = [UIColor redColor];
    

    4.调整单元格之间的距离

    - (void)setFrame:(CGRect)frame
    { 
    // tableView边框的宽度
     #define kTableBorderWidth 5 
    // 更改x、宽度 
    frame.origin.x = kTableBorderWidth; 
    frame.size.width -= kTableBorderWidth * 2; 
    // 更改顶部间距、每个cell之间的间距 
    frame.origin.y += kTableTopBorderWidth; 
    frame.size.height -= kTableViewCellMargin;
     [super setFrame:frame]; 
    }
    

    5.单元格的属性

    cell.accessoryType =UITableViewCellAccessoryNone;//cell没有任何的样式
    cell.accessoryType =UITableViewCellAccessoryDisclosureIndicator;//cell的右边有一个小箭头,距离右边有十几像素;
    cell.accessoryType =UITableViewCellAccessoryDetailDisclosureButton;//cell右边有一个蓝色的圆形button;
    cell.accessoryType =UITableViewCellAccessoryCheckmark;//cell右边的形状是对号;
    cell.selectionStyle =UITableViewCellSelectionStyleNone;//cell选中状态的样式,为枚举类型
    

    相关文章

      网友评论

      • 马之赛克://8.在tableView索引中显示搜索按钮 应该改为:

        -(NSArray*)sectionIndexTitleForTableView:(UITableView *)tableView
        {
        NSMutableArray *arr = [[NSMutableArray alloc] initWithCapacity:0];
        [arr addObject:@"{search}"];
        //等价于[arr addObject:UITableViewIndexSearch];
        return arr;
        }
        饭_米粒:@马之赛克 谢谢,autorelease忘记去掉了,疏忽了
      • 马之赛克:”6.设置tableView中cell的分割线左边距距离“
        此处缺少函数头部方法
        -(void)viewDidLayoutSubviews
        {

        xcode会报两处错误
      • 追风筝的荧火虫:好家伙,学习了

      本文标题:iOS中tableView常用属性设置

      本文链接:https://www.haomeiwen.com/subject/ytoqhttx.html