基於上一篇的基礎語法可以做出簡單的table,但果要客製化每個cell的樣式呢? 已storyboard為例
在storyboard拉cell並且佈置成自己要的樣子
建立相對應的cell Class ```swift import Foundation import UiKit public class CustomerCell:UITableViewCell{ override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier);
}
//繼承UITableViewCell一定要override的function
public required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder);
} }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 * 在storyboard指定該cell的class為CustomerCell,並且設定Identifier [![](http://1.bp.blogspot.com/-ccc0-6L5vYk/VPQCFF6QKwI/AAAAAAAAEWY/sOW8wxdPRSc/s1600/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%2B2015-03-02%2B%E4%B8%8B%E5%8D%882.19.52.png)](http://1.bp.blogspot.com/-ccc0-6L5vYk/VPQCFF6QKwI/AAAAAAAAEWY/sOW8wxdPRSc/s1600/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%2B2015-03-02%2B%E4%B8%8B%E5%8D%882.19.52.png) [![](http://4.bp.blogspot.com/-ZcUAw2yn9OU/VPQCnODddHI/AAAAAAAAEWg/Xs5EhzwGDsI/s1600/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%2B2015-03-02%2B%E4%B8%8B%E5%8D%882.25.39.png)](http://4.bp.blogspot.com/-ZcUAw2yn9OU/VPQCnODddHI/AAAAAAAAEWg/Xs5EhzwGDsI/s1600/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%2B2015-03-02%2B%E4%B8%8B%E5%8D%882.25.39.png) * 把對應的控制項建立起關聯 ```swift import Foundation import UiKit public class CustomerCell:UITableViewCell{ @IBOutlet weak var lblTitle: UILabel! //title的label @IBOutlet weak var imgIcon: UIImageView! //icon的小圖片 override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier); } public required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder); } }
改寫cellForRowAtIndexPath這個事件 ```swift //每個row顯示的內容 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let identifier = “Customer_Cell”; var cell:CustomerCell? = uitable.dequeueReusableCellWithIdentifier(identifier) as? CustomerCell; if(cell == nil){cell = CustomerCell(style: UITableViewCellStyle.Default, reuseIdentifier: identifier);
} //indexPath.row 可以知道目前是要製作第幾列的view cell?.lblTitle?.text = data[indexPath.row]; //依據是第幾個row決定icon的圖片 switch indexPath.row{case 0:
cell?.imgIcon.image = UIImage(named: "icon-factory");
break;
case 1:
cell?.imgIcon.image = UIImage(named: "icon-location");
break;
case 2:
cell?.imgIcon.image = UIImage(named: "icon-money");
break;
default:
break;
} return cell!; }
```
最後呈現的結果