IOS学习笔记-UITableView (一)

    表视图继承自UIScrollView, 所以他是可以滚动的,表视图的每一条数据都是显示在UITableViewCell对象中,其数据可以分区显示,每一个分区称为一个section,每一行称为row,编号都是从0开始。 

UITableView的重要属性:

style样式俩种:plain   和 grouped
分割线样式: separatorStyle
分割线颜色: separatorColor
行高: rowHeight

UITableView的俩个代理  DataSource和Delegate

DataSource:其中有俩个必须实现的方法
1.//每个row显示的数据
-( UITableViewCell *)tableView:( UITableView *)tableView cellForRowAtIndexPath:( NSIndexPath *)indexPath
2.//每一个section有多少个row
- ( NSInteger )tableView:( UITableView *)tableView numberOfRowsInSection:( NSInteger )section;
Delegate:若干可有可无的方法

UITableView的重用机制

可想而知,如果我们有很庞大的数据的时候,我们需要创建很多UITabelVIewCell,这时就要一次性占用很大的内存,但是我们的手机每次显示的数据只有几行而已,创建了很庞大的cell就很浪费,因此我们引用了重用机制,即我们每次都只创建一个屏幕能显示的row数量的多一个的cell即可以,比如如果我们屏幕上显示了10行数据,我们只需要创建11个cell就可以循环使用,每次上一个cell被屏幕覆盖的时候,用多余的另外一个cell补足下面将要出现的cell。然后在这个cell上新插入数据,将刚才被覆盖的cell放到一个重用池中,来节省系统开支。具体的代码实现请看下面代码:(该段代码为必备技能)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//    每行要显示的Cell
    
//    第一个参数:cell的样式
//    第二个参数:cell的重用标识
//    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"rerererer"];
    给cell的label赋值
//    cell.textLabel.text = @"cell  ";
//    cell.detailTextLabel.text = @"lixiao";
//-----上部分为有多少数据创建多少cell  下部分为重用机制  
//    利用tableView内部的重用池(NSSet)产生cell
//
    创建一个重用标识字符串
    NSString *str = @"cellReuse";
//    1. 从重用池中取一个cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:str];
//    2.判断取出的cell是否是空(nil)
    if (nil == cell) {
//        注意autorelease
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:str] autorelease];
        NSLog(@"create cell");  //测试是否用到了重用机制
    }
//    获取当前的位置indexPath 对应的元素
    NSString *value = [self.array objectAtIndex:indexPath.row];
//    另外一种形式
//    cell.textLabel.text = [self.array objectAtIndex:indexPath.row];
//    3.给cell的label赋值
    cell.textLabel.text = value;
    
//    设定cell的辅助视图
    [cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
    cell.imageView.image = [UIImage imageNamed:@"狗狗80*80.png"];
//    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
//    4.将获得的cell返回
    return cell;
}
UITabelViewCell重要属性:
样式图:




设置图片:imageView
设置文本:textLabel
指定选中效果:selectionStyle
指定辅助效果样式:accessoryType
选中背景图:selectedBackgroundView

今天介绍了UITabelView的基本的一些用法,以及一些常用的属性及必须实现的方法。希望对新手有帮助,其实我也是新手,希望大家一起学习一起进步。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值