首页 > 其他 > 详细

UITableView

时间:2015-12-16 19:22:20      阅读:194      评论:0      收藏:0      [点我收藏+]

/*

 今天需要掌握的

  1.UITableView以及两种风格和三部分

 风格:

       UITableViewStylePlain普通风格

       UITableViewStyleGrouped分组风格

 三部分: 表头   表尾   Cell

 2. UITableViewController

 就是一个自带UITableView的控制器

 3. UITableViewCell以及四种风格

 风格:

 * UITableViewCellStyleDefault

 图片居左,textlabel在图片右边,detailTextLabel默认不显示

 * UITableViewCellStyleValue1

 图片居左,textlabel在图片的右边,detailTextLabel居右

 * UITableViewCellStyleSubtitle

 图片居左,textLabel在图片的右边,deetailTextlabeltextlabel的下方。

 * UITableViewCellStyleValue2

 左边一个主标题textLabel,挨着右边一个副标题detailTextLabel

 通过代理给UITableView设置Cell

 性能优化

 通过代理添加删除cell

*/

#pragma UITableView 风格 三部分

    /*

     1.UITableView 以及两种风格和三部分

     风格:

     UITableViewStylePlain普通风格

     UITableViewStyleGrouped分组风格

     三部分:

     tableHeaderView 表头 

     tableFooterView 表尾

            Cell

    表头 表尾根据我们的需要而选择是否添加

     */

#import "ContactViewController.h"

@interface ContactViewController ()<UITableViewDataSource,UITableViewDelegate>

{

    UITableView *tabView1;

}

@end

- (void)viewDidLoad {

    [super viewDidLoad];

    UITableView *tabView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 414, 736) style:UITableViewStyleGrouped];

    tabView.backgroundColor = [UIColor grayColor];

    tabView.tableHeaderView = [self addHeaderView];//UITableView设置表头

    tabView.tableFooterView = [self addFooterView];//UITableView设置表尾

    tabView.delegate = self;

    tabView.dataSource = self;

 [self.view addSubview:tabView];

}

//创建表头视图

-(UIView *)addHeaderView{

    UILabel *lable = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 0, 50)];

    lable.text = @"表头";

    lable.backgroundColor = [UIColor greenColor];

    

    return lable;

}

//创建表尾视图

-(UIView *)addFooterView{

    UILabel *lable = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 0, 50)];

    lable.text = @"表尾";

    lable.backgroundColor = [UIColor greenColor];

    

    return lable;

}

#pragma UITableViewController 

    /*

     就是一个自带UITableView的控制器

     */

#pragma 通过代理给UITableView设置Cell  以及四种风格

     * UITableViewCellStyleDefault

     图片居左,textlabel在图片右边,detailTextLabel默认不显示

     * UITableViewCellStyleValue1

     图片居左,textlabel在图片的右边,detailTextLabel居右

     * UITableViewCellStyleSubtitle

     图片居左,textLabel在图片的右边,deetailTextlabeltextlabel的下方。

     * UITableViewCellStyleValue2

     左边一个主标题textLabel,挨着右边一个副标题detailTextLabel

     UITableViewCellAccessoryNone 啥也没有

以下是关于cell右侧的标记也是Accessory

     右边出现小箭头

     UITableViewCellAccessoryDisclosureIndicator;

     i加箭头

    UITableViewCellAccessoryDetailDisclosureButton;

     对号

     UITableViewCellAccessoryCheckmark;

     i

    UITableViewCellAccessoryDetailButton;

     */

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

    return 20;

}// 定义多少行   -----代理实现方法

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

    /*

     UITableView每次滑动 必定有消失的cell,系统会自动将这些消失的cell放到缓存池里,需要新cell时,系统现在缓存池里看是否有cell 有的就利用,没有的就新建

     前提 UITableView滑动

     1.旧的cell消失,系统自动将这个cell放到缓存池里

     2.新的cell要显示就要用到代理方法

     2.1首先看看缓存池里有没有cell 

     2.2如果有就利用如果没有就新建

     2.3返回cell

     */

     static NSString *cellId = @"cellID";

    UITableViewCell *cell = [tabView1 dequeueReusableCellWithIdentifier:cellId];

    if (cell == nil) {

        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellId];

    }

cell的三大属性 textLabel   detailTextLabel    imageView

    cell.textLabel.text = @"标题";

    cell.detailTextLabel.text = @"副标题";

    cell.imageView.image = [UIImage imageNamed:@"图片名字"];

     return cell;

    

}//每行cell的风格 每次出现新的cell就要触发 -----代理方法

另外我们的tableView还有一个分组格式

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;{

    return 2;

}//指定有多少分组 ----代理方法

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

    return 20;

}//改变cell的高度  ------cell的其他的大小不能调整,只能调整它的高度,其他系统默认为起始位置(0.0)宽为屏幕的宽

 

 

 

 

 

 

 

UITableView

原文:http://www.cnblogs.com/homeofjunwei/p/5051893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!