swift tableview如何选择所有行

时间:2015-08-17 08:04:47

标签: swift uitableview button

我在tableview中有Button我想按下那个按钮会选择所有单元格行,怎么做?我尝试了很多,但我没有得到任何东西

我很困惑如何使按钮接触单元格

我试过像这样制作var

var x = false

然后我喜欢

if( x == true ) { //Code }

当你按下按钮时它就是真的

但我不知道我应该把它放在哪个功能区?我不知道如何选择所有行

当有人在桌面视图中按下按钮时,有人可以帮助我如何选择\取消选择单元格中的所有行。

非常感谢你!

3 个答案:

答案 0 :(得分:5)

var selectedUsernameArray : NSMutableArray = []
var username1Array : NSMutableArray = ["hel","dsf","fsdg"]//just a sample

最初按钮名称应为"全选"

按钮操作:

 @IBAction func buttonAction(sender: UIButton) {

   if(sender.titleLabel?.text == "Select all")
    {
        selectedUsernameArray .addObjectsFromArray(username1Array as [AnyObject])
        sender.titleLabel?.text = "Deselect all"
    }
    else
   {
    selectedUsernameArray .removeAllObjects();
    sender.titleLabel?.text = "Select all"
    }

    self.tableView .reloadData()
}

tableview委托

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
    var ob: AnyObject = username1Array .objectAtIndex(indexPath.row);
    cell.textLabel?.text = ob as? String;
    if(selectedUsernameArray .containsObject(ob))
    {
      cell.backgroundColor = UIColor.blueColor();
    }
    else
    {
        cell.backgroundColor = UIColor.whiteColor();
    }
    return cell
}

答案 1 :(得分:1)

var isSelectAll = false; //global variable

isSelectAll = true;//on button action
self.tableView.reloadData()//on button action
cellForRowAtIndexPath方法

中的

if(isSelectAll==true)
{
cell.backgroundColor = UIColor.blueColor();
}
else
{
cell.backgroundColor = UIColor.white();
}

答案 2 :(得分:0)

在cellForRowAtIndexPath中:

UITableViewCell *cell...

cell.accesoryType = isSelectAll ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;