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

    }

}

posted @ 2017-03-17 14:02  公羽寒  阅读(1522)  评论(0编辑  收藏  举报