此次咱們來分享一下關於 UITableView 的一個開發小技巧, 後面我會陸續的把關於 UITableView 的其餘開發小技巧補充上, 廢話少說, 讓咱們來看看代碼ruby
關於怎麼快速添加一個 UINavigationController 在上兩篇文章裏有講解, 這裏就不說了, 下面讓咱們來看看代碼.markdown
遵照代理協議和數據源協議ide
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {}
設置代理對象佈局
override func viewDidLoad() {
super.viewDidLoad()
myTableView.delegate = self
myTableView.dataSource = self
}
獲取屬性和聲明數據ui
@IBOutlet weak var myTableView: UITableView!
let stringArray = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"]
實現代理方法和數據源方法spa
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return stringArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("tableCell", forIndexPath: indexPath) as! UITableViewCell
cell.textLabel!.text = stringArray[indexPath.row]
return cell
}
實現自定義方法代理
func colorForIndex(index: Int) -> UIColor {
let itemCount = stringArray.count - 1
let color = (CGFloat(index) / CGFloat(itemCount)) * 0.6
return UIColor(red: 0.8, green: color, blue: 0.2, alpha: 1.0)
}
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
cell.backgroundColor = colorForIndex(indexPath.row)
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.myTableView.deselectRowAtIndexPath(indexPath, animated: true)
}
好了, 此次咱們就講到這裏, 下次咱們繼續~~~code