swif tableview全选

Posted 蓝天下的田埂上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swif tableview全选相关的知识,希望对你有一定的参考价值。

func selctAll() {

        idArr.removeAll()

        for var i = 0; i<sellingArr.count; i++ {

            let path: NSIndexPath = NSIndexPath(forRow: i, inSection: 0)

            self.tableView.selectRowAtIndexPath(path, animated: true, scrollPosition: UITableViewScrollPosition.None)

        }

    }

  //取消全选

    func cancelSelectAll() {

        for var i = 0; i < sellingArr.count; i++ {

            let path: NSIndexPath = NSIndexPath.init(forItem: i, inSection: 0)

            self.tableView.deselectRowAtIndexPath(path, animated: true)

        }

        tableView.setEditing(false, animated: true)

    }

//代理中除了要实现必须实现的代理以外有些需要注意的地方

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

    {

        let cell = tableView.dequeueReusableCellWithIdentifier(BSManagerBaseCellID) as! BSManagerTableViewCell

        cell.selectedBackgroundView = UIView()// 这句可以淡化选择时的颜色

        return cell

    }

    //编辑时写法,OC中写法相对简单,可以百度需要的OC的同学

    override func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {

        return UITableViewCellEditingStyle(rawValue: UITableViewCellEditingStyle.Delete.rawValue | UITableViewCellEditingStyle.Insert.rawValue)!

    }

//选中时在这里操作

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        let path: NSIndexPath = NSIndexPath.init(forItem: indexPath.row, inSection: 0)

        let cell = tableView.cellForRowAtIndexPath(path) as! BSManagerTableViewCell

        if cell.selected == true {//如果是选中状态的话,我在这里的操作是把选中cell的id放在了一个数组中。

             idArr.append((sellingArr[indexPath.row]["id"] as? String)!)

        }

        

    }

    //取消选中的cell状态

    override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {

        if isSelectStatus == true {//如果是选中状态的话,我在这里的操作是把选中cell的id从数组中移除。

            idArr.removeAtIndex(idArr.indexOf((sellingArr[indexPath.row]["id"] as? String)!)!)

        }

    }

 

以上是关于swif tableview全选的主要内容,如果未能解决你的问题,请参考以下文章

TableView 上方的浮动/固定搜索栏 - Swift 3

iOS 中 tableView 怎么设置Cell与Cell 之间的间距

带有全选选项的 swift 3.0 多项选择

completionHandler / userCompletionHandler 问题 - Swift iOS

如何使用tableview外的按钮将tableview移动到新的tableview

tableView(cellForRowAtIndexPath) 与 tableView.cellForRowAtIndexPath()?