iOS自定义单元格之xib文件

作者: 亦枫 | 来源:发表于2016-02-20 16:10 被阅读784次

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

    iOS自定义单元格之xib文件.png

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

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

    User Interface模板.png

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

    设计单元格样式.png

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

    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文件自定义单元格创建表视图的全过程,运行结果如图所示:

    效果图.png

    相关文章

      网友评论

      • 小草先生:兄弟 你这样学太慢了 去找一套李明杰的视频 快进1.5倍速度的看
        亦枫:@小草先生 工作之余,谢谢提议:smile:

      本文标题:iOS自定义单元格之xib文件

      本文链接:https://www.haomeiwen.com/subject/rpuvkttx.html