目前個(gè)人總結(jié)三種方法
一.使用storyboard自定義UITableViewCell
在Storyboard的相應(yīng)的界面拖入TableView灵巧,并拖入U(xiǎn)ItableViewCell到TableView上
設(shè)置tableView的Identifier郑兴,用于cell的復(fù)用,并設(shè)置于該cell相關(guān)聯(lián)的class
創(chuàng)建關(guān)聯(lián)的cell文件啥纸,并與prototype cell創(chuàng)建關(guān)聯(lián)
class ShopCartCell:UITableViewCell? {
//storyboard 方式
required init?(coder aDecoder: NSCoder) {
//fatalError("init(coder:) has not been implemented")
super.init(coder: aDecoder)
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
@IBOutlet weak var iconView: UIImageView!
@IBOutlet weak var titleLable: UILabel!
}
在tableView的數(shù)據(jù)源代理中使用cell
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("shopcartcell",forIndexPath: indexPath) as! ShopCartCell
cell.iconView.sd_setImageWithURL(NSURL(string: "http://pic7.nipic.com/20100517/3409334_180613088650_2.jpg"))
return cell
}
二奋姿,使用xib方式
使用xib方式和使用storyboard方式基本一樣石挂,首先創(chuàng)建xib文件井厌,并設(shè)置相應(yīng)的class,創(chuàng)建關(guān)聯(lián)控件
不同點(diǎn)是使用xib需要在tableview中注冊(cè)復(fù)用的lib
如下
tableview.registerNib(UINib(nibName: "ShopCartCell", bundle: NSBundle(forClass:ShopCartCell2.self)), forCellReuseIdentifier: "shopcartcell")
三址晕,使用代碼方式
1膀懈,創(chuàng)建自定義cell,繼承UITableViewCell
class ShopCartCell: UITableViewCell {
//代碼方式
var iconView:UIImageView!
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = UITableViewCellSelectionStyle.None
iconView=UIImageView(frame: CGRectMake(0, 0, self.frame.width/4, 86))
contentView.addSubview(iconView)//必須添加到contentView中
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
2.在TableView中注冊(cè)cell,用于復(fù)用
tableview.registerClass(ShopCartCell3.self, forCellReuseIdentifier: "shopcartcell")
3.在代理中使用cell
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("shopcartcell",forIndexPath: indexPath) as! ShopCartCell
cell.iconView.sd_setImageWithURL(NSURL(string: "http://pic7.nipic.com/20100517/3409334_180613088650_2.jpg"))
return cell
}