iOS开发

ios开发-UITableView基础

2015-12-27  本文已影响325人  Dyua

UITableView基础

什么是UITableView?

UITableView的两种样式

如何展示数据

tableView和数据源

以下是遵守协商实现的方法:

调用数据源的下面的方法得知一共有多少组数据
    - (NSInteger)numberOfSectionInTableView:(UITableView *)tableView;

调用数据源的方法得知每一组有多少行
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
同样是调用数据源的方法每一行显示的内容
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

认识MVC

Cell简介

UITableViewCell的contentView

Cell的重用原理

cell重用的实现代码如下:

- (UITableViewCell *)tableview:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //1.定义一个cell标识
    static NSString *ID = @“cell”;

    //2.从缓存池子中取出cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

    //3.度过缓存池中没有cell
    if (cell == nil){

    cell =[ [UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID]
}

    //4.设置cell属性
    cell.textLabel.text = ……….
    return cell;
}

通过代码自定义Cell(cell的高度不一致)

给UITableView加一个侧边的索引条(如下图)

Snip20151216_3.png

有一个小技巧就是把它的头部标题Header,最好是取一个字母,例如是ABC.....
这样的话是方便索引条来排序的
实现的代码如下:

- (NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
  // 取出self.carGroups这个数组每一个对象(XMGCarGroup)的title属性的值,放在一个新的数组中返回
return [self.carGroups valueForKeyPath:@"title"];
}

(这里的titl就是我们设置的header的一个key)
在viewDidLoad中,设置索引条的背景颜色和文字颜色
self.tableView.sectionIndexColor = [UIColor redColor];
self.tableView.sectionIndexBackgroundColor = [UIColor cyanColor];
上一篇下一篇

猜你喜欢

热点阅读