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

本文介绍了在iOS8中使用Swift进行自定义UITableViewCell的方法。通过Storyboard拖拽添加内容,调整样式,创建Cocoa Touch Class与自定义Cell关联,并在代码中设置属性与界面交互,实现对cell样式完全自定义的控制。
摘要由CSDN通过智能技术生成

第三话中讲解了如何利用系统内置的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的样式尽在我们的掌控之中,是不是很有成就感?

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值