swift语言IOS8开发战记4.custom tableViewCell

简介: 第三话中讲解了如何利用系统内置的cell格式,这一话来谈谈如何自定义cell格式.在stroyboard中通过拖拽为cell添加内容,并且通过属性检测器修改样式,下面是我简单设置的一个自定义cell。

第三话中讲解了如何利用系统内置的cell格式,这一话来谈谈如何自定义cell格式.在stroyboard中通过拖拽为cell添加内容,并且通过属性检测器修改样式,下面是我简单设置的一个自定义cell。


因为cell是自定义的,所以需要创建一个文件与cell关联,新建一个文件,注意创建的是一个cocoa touch class,如下图所示


在新建的cell的代码中添加界面上的cell的属性,让这些属性与前台的展示页面进行交互,3个label和一个image都是outlet展示。连线都是IB开头的,增加属性后的代码如下

class CustomTableViewCell: UITableViewCell {

    
    
    @IBOutlet weak var nameLabel: UILabel!
    @IBOutlet weak var locationLabel: UILabel!
    @IBOutlet weak var typeLabel: UILabel!
    @IBOutlet weak var thumbnailImageView: UIImageView!
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

代码改写完毕后,需要把storyboard中的cell的类型指定为我们刚刚创建的cell类型并且把我们在类中定义的属性与前台连接起来,依旧是拖拽方式,如下图:




回到viewController中,复用一下前两话中tableview的代码,由于要使用我们自己定义的cell,所以把viewDidLoad之前关于cell的代码删掉。

override func viewDidLoad() {
        super.viewDidLoad()
        
        // Do any additional setup after loading the view, typically from a nib.
    }

现在回到cell的代理方法中,调用我们自定义的cell,注意cell的属性也要用我们自己设置的,注意代码的复用,代理方法的代码如下

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let identiString = "Cell" //代码复用
        let cell = tableView.dequeueReusableCellWithIdentifier(identiString,forIndexPath : indexPath) as CustomTableViewCell
        
        cell.nameLabel.text = restaurantNames[indexPath.row]
        var imageName = restaurantImages[indexPath.row]
        cell.thumbnailImageView.image = UIImage(named: imageName)
       cell.typeLabel.text = "hello"
        cell.accessoryType = UITableViewCellAccessoryType.DetailButton
        return cell
    }

运行效果如图所示:


怎么样,cell的样式尽在我们的掌控之中,是不是很有成就感?

目录
相关文章
|
3月前
|
存储 安全 Swift
Swift 语言:什么是 Swift 的泛型(Generics)?
Swift 语言:什么是 Swift 的泛型(Generics)?
35 0
|
3月前
|
Swift iOS开发
Swift 语言: 什么是协议(Protocol)?如何实现和使用协议?
Swift 语言: 什么是协议(Protocol)?如何实现和使用协议?
42 2
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
91 2
|
2月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
192 2
|
3月前
|
存储 Swift
Swift 语言:什么是值类型和引用类型?Swift 中有哪些值类型和引用类型?
Swift 语言:什么是值类型和引用类型?Swift 中有哪些值类型和引用类型?
38 2
|
3月前
|
存储 Swift
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
33 1
|
3月前
|
监控 Swift iOS开发
局域网计算机监控软件中利用Swift构建iOS端的移动监控应用
在局域网计算机监控软件的开发中,构建iOS端的移动监控应用是一项关键任务。本文将介绍如何利用Swift语言实现这一目标,通过多个代码示例展示关键功能的实现。
225 1
|
3月前
|
安全 Swift
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
31 1
|
3月前
|
安全 JavaScript 前端开发
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
65 0
|
4月前
|
JSON IDE Swift
Swift语言的实践编程
Swift语言的实践编程
30 3

相关课程

更多