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

本文描述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一个cell的class或者一个nib文件,那系统自动优化生成该cell

1.registerClass:forCellReuseIdentifier:

2.dequeueReusableCellWithIdentifier:forIndexPath:

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

时间: 2024-10-05 05:00:01

iOS开发 UITableView的方法和属性总结的相关文章

iOS开发OC基础:OC属性的一些概念和基本使用

一.属性简介 //属性是OC2.0之后新出的一种语法,能让我们快速的生成setter以及getter方法,大大简化代码 二.如何定义一个属性 //@property 属性关键字,用来定义属性 //NSString * 属性的类型 //name 属性的名字. //@property 只是生成的setter以及getter方法的声明.@property NSString *name; 三.属性的使用注意事项//如果在.m文件中我们自己实现了setter以及getter方法,则编译器就不会再帮我们生成

iOS开发——实用篇&提高iOS开发效率的方法和工具

提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的IDE,在这里我主要介绍Xcode中提升开发效率的方法. 1.善用快捷键 快捷键是开发中必不可少的,当你善于使用快捷键的时候,十指在键盘上飞舞,那画面太美,我不敢想象. 常用快捷键操作 2.常用代码片段 开发中有一些常用的代码,可以放到代码片段中,然后下次你就可以使用快捷

iOS开发UI篇—导航控制器属性和基本使用

IOS开发UI篇—导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) 1.创建一个导航控制器 UINavigationController *nav=[[UINavigationControlleralloc]init]; 2.设置导航控制器为window的根视图 self.window.rootViewController=nav; 3.添加 YYOneViewController  *one = [[YYOneViewContro

IOS开发UITableView性能应用技巧TableViewCell的重用

?iOS设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象的话,那将会耗尽iOS设备的内存.要解决该问题,需要重用UITableViewCell对象??重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中,等待重用.当UITableView要求dataSource返回UITableViewCell时,dataSource会先查看这个对象

IOS开发语言Swift入门连载---属性

IOS开发语言Swift入门连载-属性 属性将值跟特定的类.结构或枚举关联.存储属性存储常量或变量作为实例的一部分,计算属性计算(而不是存储)一个值.计算属性可以用于类.结构体和枚举里,存储属性只能用于类和结构体. 存储属性和计算属性通常用于特定类型的实例,但是,属性也可以直接用于类型本身,这种属性称为类型属性. 另外,还可以定义属性监视器来监控属性值的变化,以此来触发一个自定义的操作.属性监视器可以添加到自己写的存储属性上,也可以添加到从父类继承的属性上. 存储属性 简单来说,一个存储属性就是

IOS开发UI篇—导航控制器属性和基本使用 - 文顶顶

原文  http://www.cnblogs.com/wendingding/p/3768622.html IOS开发UI篇—导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) UINavigationController *nav=[[ UINavigationController alloc ] init ]; 2.设置导航控制器为window的根视图 self . window . rootViewController =nav

iOS开发UITableView基本使用方法总结

本文为大家呈现了iOS开发中UITableView基本使用方法总结.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDataSource:然后 UITableView对象的 delegate要设置为 self:然后就可以实现这些delegate的一些方法拉. UITableView基本使用方法 1.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITable

iOS开发,UITableView相关问题

第一条:UITableViewCell 内容的设置 //文本放到最后 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_dataArr.count - 1 inSection:0]; [_tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES]; //刷新指定cell NSIndexP

iOS开发隐藏键盘方法总结

iOS开发里键盘是经常需要打交道的地方,下面为大家带来我整理总结的几种隐藏键盘的方法. 一.隐藏自身软键盘 当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件.在点击软键盘右下角的“Return”按钮后,会触发该事件.该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处理方法(.m文件). - (IBAction)TextField_DidEndOnExit:(id)sender