Swift - 实现tableView单选系统样式
// 实现tableView单选
import UIKit
class ViewController: UIViewController {
var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView = UITableView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height), style: .Plain)
tableView.delegate = self
tableView.dataSource = self
self.view.addSubview(tableView)
}
}
extension ViewController: UITableViewDataSource,UITableViewDelegate {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 20
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .Default, reuseIdentifier: "cell")
cell.textLabel?.text = "123"
return cell
}
//获取将要选择的单元格的路径
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
//取消选中的样式
tableView.deselectRowAtIndexPath(indexPath, animated: true)
//获取当前选中的单元格
let cell:UITableViewCell! = tableView.cellForRowAtIndexPath(indexPath)
//返回所有单元格
//遍历取消所有单元格样式
var arry = tableView.visibleCells
for i in 0 ..< arry.count {
let cells: UITableViewCell = arry[i]
cells.accessoryType = .None
}
//设置选中的单元格样式
cell.accessoryType = .Checkmark
}
}