介绍

当系统提供的几种简单单元格无法满足我们的需要时,我们需要自己定制单元格来满足我们的需要

实现

创建自己的单元格类

首先我们应当新建一个继承自UITableViewCell的类
如果不想在StoryBoard中编辑自定义cell,在创建cell类时可以选择同时新建xib文件

在StoryBoard/Xib中编辑

直接将一个TableViewCell控件拖进tableView内,cell的大小可以自由调整,并在其中添加需要的控件
图片描述

关联类

选择这个cell,打开右侧工具栏第三项identify inspector检查器,Custom Class栏的Class选项选中你所创建的自定义单元格类
图片描述
标记之后便可以进行此的类代码与IB的连线了

设置重用标记

这里就涉及了TableView的重用机制,为了做到显示和数据分离,iOS tableView的实现不是为每个数据项创建一个Cell。而是只创建屏幕可显示最大个数的Cell,当Cell划出屏幕,重复使用这些Cell,对Cell做单独的显示配置,这样既不影响显示效果,又能节约内存。

这次我们演示在IB中设置重用标记的方法
选择这个cell,打开右侧工具栏第四项属性检查器,在Identifier中填写重用标记
图片描述

在tableView中显示

设置代理数据源等方法与上篇一样,这里就不赘述了

修改cellForRowAtIndexPath方法

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(reuseIdentifier) as!myTableViewCell
        cell.name.text = "第\(indexPath.row)个cell"
        cell.img.image=UIImage(named: "TS")
        return cell
    }

效果

图片描述


Hydrogen
2.5k 声望73 粉丝

Write code for fun.