I have Button in tableview I want when I press that button will select all cell rows, how to do that? I tried alot but I got nothing
I\'m so confused how to make the but
var selectedUsernameArray : NSMutableArray = []
var username1Array : NSMutableArray = ["hel","dsf","fsdg"]//just a sample
Initially button name should be "Select all"
Button action :
@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 delegate
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
}
In cellForRowAtIndexPath:
UITableViewCell *cell...
cell.accesoryType = isSelectAll ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;
var isSelectAll = false; //global variable
isSelectAll = true;//on button action
self.tableView.reloadData()//on button action
in cellForRowAtIndexPath
method
if(isSelectAll==true)
{
cell.backgroundColor = UIColor.blueColor();
}
else
{
cell.backgroundColor = UIColor.white();
}