码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发 UITableView的方法和属性总结

时间:2014-06-04 18:05:32      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   a   ext   color   

本文描述UITableView的各种方法,属性,委托以及数据源。本文的目的只是总结UITableView的用法,详细的例子另撰文描述。

1 数据源  UITableViewDataSource协议 

  01 返回组(节)的个数,默认是返回1,如果只有1组数据,可以不用实现该方法。

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

  02 返回某一组的行数,该组由section的值决定

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

  03 返回某一组某一行的UITableViewCell,该行由indexPath决定,

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath , 

  04 返回某一组的头部标题

    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section  

  05 返回某一组的尾部标题

    - (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section 

2 委托  UITableViewDataDelegate协议 

  01 设置cell的高度。

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

  02 某一行被选中后,该方法被调用 

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

  03 返回分组头部视图,下面两个方法必须同时使用,否则出问题

            - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

            - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

3 UITableView的常见属性和方法

  01 设置表视图的显示方式:平铺还是多组显示

    @property (nonatomic, readonly) UITableViewStyle           style;   

  02 设置cell的高度,通过rowHeight属性设置,所有的行高都是一样的

    @property (nonatomic)  CGFloat    rowHeight;   

  03 设置分割线样式

    @property(nonatomic) UITableViewCellSeparatorStyle separatorStyle;        

  04 设置分割线颜色

    @property(nonatomic,retain) UIColor               *separatorColor;        

  05 设置tableView的头部视图和底部视图,其宽度默认和tableveiw一样宽

            tableview.tableHeaderView = [UIButton buttonWithType:UIButtonTypeContactAdd];

            tableview.tableFooterView = [[UISwitch alloc] init];

      06 设置是否隐藏垂直的滚动条

            self.tableView.showsVerticalScrollIndicator = NO;

  07 设置cell是否能被选中

            self.tableView.allowsSelection = NO;

  08.tableveiw滚动到某一行

    - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated;

4 UITableViewCell的相关属性和方法设置每行的视图和方法

  01 每个cell的辅助控件

    @property (nonatomic) UITableViewCellAccessoryType    accessoryType;   每一行最右边的控件,默认不显示

    @property (nonatomic, retain) UIView                 *accessoryView;

  02 cell的背景视图,以及背景颜色。通过backgroundColor  backgroundView都可以设置cell的背景,但是backgroundView 的优先级比 backgroundColor的高

    @property (nonatomic, retain) UIView                *backgroundView;

    @property (nonatomic, retain) UIView                *selectedBackgroundView;     设置选中状态的背景

  03 cell的显示内容,默认是保存再contentView中

    @property (nonatomic, readonly, retain) UIView      *contentView;    cell显示的view,cell默认的三个view,都在contentView

      @property (nonatomic, readonly, retain) UIImageView *imageView NS_AVAILABLE_IOS(3_0);   // default is nil.  image view will be created if necessary.

      @property (nonatomic, readonly, retain) UILabel     *textLabel NS_AVAILABLE_IOS(3_0);   // default is nil.  label will be created if necessary

      @property (nonatomic, readonly, retain) UILabel     *detailTextLabel

5 cell优化

        01、当一个cell出现在屏幕上,系统才会调用cell的生成方法

            static NSString *identifier = @"hero"            // 定义变量保存重用标记的值

            UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];             //    1.先去缓存池中查找是否有满足条件的Cell

            if (cell == nil) {             //    2.如果缓存池中没有符合条件的cell,就自己创建一个Cell 

                cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier];                 //    3.创建Cell, 并且设置一个唯一的标记 

            }

       02.ios7已经实现了自动优化,register一个cellclass或者一个nib文件,那系统自动优化生成该cell

            1.registerClass:forCellReuseIdentifier:

             2.dequeueReusableCellWithIdentifier:forIndexPath:

             

   

iOS开发 UITableView的方法和属性总结,布布扣,bubuko.com

iOS开发 UITableView的方法和属性总结

标签:c   style   class   a   ext   color   

原文地址:http://www.cnblogs.com/csy8752316/p/3764575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!