UITableView(一)基本属性介绍

UITableView派生自UIScrollView

每个横向的表格称为Cell(UITableViewCell)

每个cell既可以存储数据,也可以接受选中的事件,我们可以选中某个cell时,下拉列表,也可以选中某个cell时,推出新的页面。在编辑模式下还可以选中多个cell,批量删除等。

UITableView的cell复用

UITableView只会添加所需的一定数量的cell,仅仅比同屏显示的cell多一点,当tableView滚动时,重复使用这些cell,刷新内容。

TableView是UI控件中相当重要的一个控件,所以我们分四个部分记录一下用法和相关代理方法

1.基本属性

2.分组模式

3.编辑模式

4.索引

5.显示顺序

6.分组开闭合

 

一基本属性

 //UITableViewStylePlain:分组模式组头组尾会有一个悬浮效果。 Grouped:无分组,头尾部视图跟着滑动
    UITableView *tableview = [[UITableView alloc]initWithFrame:CGRectMake(0,64, self.view.frame.size.width,self.view.frame.size.height-64) style:UITableViewStylePlain];
    
     tableview.backgroundColor = [UIColor redColor];
    
     tableview.delegate = self;
     tableview.dataSource = self;
    
    
    //属性设置
    //分割线颜色
    tableview.separatorColor = [UIColor redColor];
    //分割线样式,设置为无
   // tableview.separatorStyle = UITableViewCellSeparatorStyleNone;
    
    
    
    //滚动条
    tableview.showsVerticalScrollIndicator = NO;
    tableview.showsHorizontalScrollIndicator = NO;
    
    //设置tableview的滑动偏移量,人为设置让他滚动到具体位置
    [tableview setContentOffset:CGPointMake(0, 100) animated:YES];




   //tableview.sectionHeaderHeight//组头视图高度
    //tableview.sectionFooterHeight//尾部视图高度
   // tableview.tableFooterView 设置尾部视图
   // tableview.tableHeaderView 设置头部视图
    
    
    //tableview.backgroundView //只能写入
    
   // tableview.editing 是否可以编辑
    
  // tableview.allowsSelection 非编辑下,行是否可以选中,默认yes
  
  //tableview.allowsMultipleSelection 是否可以选择多行
    
    //tableview.sectionIndexColor 改变某行文本颜色

 

二.cell自适应高度

 //自适应cell高度
    tableview.estimatedRowHeight = 100;
    tableview.rowHeight = UITableViewAutomaticDimension;

 

三.cell优化之提前注册法



    //提前注册:参数二testcell为identifiera属性设置
    [tableview registerNib:[UINib nibWithNibName:@"TableViewCell" bundle:nil] forCellReuseIdentifier:@"testcell"];

NSString *cellid = @"testcell";设置标识符

TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellid forIndexPath:indexPath];

 

四.滚动到指定行

    //默认选中姆一行
    /*
     UITableViewScrollPositionNone,默认在哪一行就在哪一行 不滑动
     UITableViewScrollPositionTop,最上面
     UITableViewScrollPositionMiddle 中间
     UITableViewScrollPositionBottom 默认选中行显示在最下面
    */
    NSIndexPath *selIndex = [NSIndexPath indexPathForRow:19 inSection:0];
    [tableview selectRowAtIndexPath:selIndex animated:YES scrollPosition:UITableViewScrollPositionNone];

 

五.cell属性

   //tableview.sectionHeaderHeight//组头视图高度
    //tableview.sectionFooterHeight//尾部视图高度
   // tableview.tableFooterView 设置尾部视图
   // tableview.tableHeaderView 设置头部视图
    
    
    //tableview.backgroundView //只能写入
    
   // tableview.editing 是否可以编辑
    
  // tableview.allowsSelection 非编辑下,行是否可以选中,默认yes
  
  //tableview.allowsMultipleSelection 是否可以选择多行
    
    //tableview.sectionIndexColor 改变某行文本颜色



  //cell选中时的背景色
    /*
     UITableViewCellSelectionStyleBlue 蓝色
     UITableViewCellSelectionStyleNone 无;
     UITableViewCellSelectionStyleGray 灰色
     UITableViewCellSelectionStyleDefault 默认
    */
    cell.selectionStyle =  UITableViewCellSelectionStyleGray;

六.解决分割线不顶格显示

//设置cell分割线的左边边距(系统默认时不左对齐的,有一点点间距)
- (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];
    }
    
    
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值