iOS自定义单元格之xib文件

记录一个菜鸟的iOS学习之旅,如能帮助正在学习的你,亦枫不胜荣幸;如路过的大神如指教几句,亦枫感激涕淋!

iOS自定义单元格之xib文件_第1张图片
iOS自定义单元格之xib文件.png

在亦枫的《iOS学习之旅》上一篇文章 —— iOS自定义单元格之故事板方式中,我们通过故事板的方式,实现了自定义单元格创建一个简单的表视图。本文我们来学习另一种方式——xib文件。

我们还是第一篇文章中创建的简单表视图Demo为例,右击工程目录,选择New File,使用 User Interface 下面的Empty模板创建一个xib文件:

User Interface模板.png

next创建名为CustomCell的xib文件,然后设计单元格样式。拖拽一个图片控件和文本控件,在属性检测器中设置宽高等控件属性,如图所示:

iOS自定义单元格之xib文件_第2张图片
设计单元格样式.png

New File,通过Source里面的Cocoa Touch Class模板创建自定义单元格类的头文件 CustomCell.h 和实现文件 CustomCell.m

iOS自定义单元格之xib文件_第3张图片
Cocoa Touch Class模板.png

然后为xib文件和头文件创建连接和添加控件的输出口。创建方式就不再重复复述了,记得设置xib文件的class类和单元格的重用标识符(比如设置为:CustomCell,在代码中创建单元格对象时需要使用)。

最后在 ViewController.m 文件的 tableView: cellForRowAtPathIndex: 编写创建单元格对象的代码,如下所示:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *identifierString = @"CustomCell";
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:identifierString];
    if (cell==nil) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:identifierString owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }
    NSInteger rowIndex = [indexPath row];
    NSDictionary *cellDictionary = [self.simpleData objectAtIndex:rowIndex];
    cell.titleLabelView.text = [cellDictionary objectForKey:@"name"];
    cell.coverImageView.image = [UIImage imageNamed:[cellDictionary objectForKey:@"cover"]];

    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    return cell;
}

这样,我们就完成了使用xib文件自定义单元格创建表视图的全过程,运行结果如图所示:

iOS自定义单元格之xib文件_第4张图片
效果图.png

你可能感兴趣的:(iOS自定义单元格之xib文件)