Swift - 实现tableView单选系统样式

时间:2021-12-10 16:29:13

// 实现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

}

}