1.) TableViewCell 不同的类型
Custom
Basic
Right Detail
Left Detail
Subtitle
要在TableView中显示 Cell 需要实现 protocal - UITableviewDataSource
//
// ViewController.swift
// Todo
//
// Created by Ricky Choi on 16/6/1.
// Copyright © 2016年 worm. All rights reserved.
//
import UIKit
var todos: [TodoModel] = []
func dateFromString(dateStr: String) -> NSDate? {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyy-MM-dd"
let date = dateFormatter.dateFromString(dateStr)
return date
}
class ViewController: UIViewController, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
todos = [TodoModel(id: "1", image: "child-selected", title: "1. 去游乐场", date: dateFromString("2014-11-2")!),
TodoModel(id: "2", image: "shopping-cart-selected", title: "2. ", date: dateFromString("2014-10-28")!),
TodoModel(id: "3", image: "phone-selected", title: "3. 打电话", date: dateFromString("2014-10-30")!),
TodoModel(id: "4", image: "travel-selected", title: "4. Travel to Europe", date: dateFromString("2014-10-31")!),
]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//Implement UITableviewDataSource
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 50
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("todoCell")! as UITableViewCell
return cell
}
}
这时运行,还不能显示Cell。还需要在 storyboard 中 Table View 的datasource 绑定为View Controller 。右键拉线(Table View -> View Controller)
其它绑定方法还不清楚。
最后的运行界面:
可以改变不同的Cell类型试试效果。
自定义Table View Cell:
调整Cell高度, 在里面放个imageview, 两个 Label
最后效果: