我想在UITableview中实现多行选择。但是当我选择带有复选标记的多行并向下滚动时,当我回到选定的行部分时,复选标记会消失。我已尝试过Stackoverflow的许多解决方案,但它没有&#39对我有用。可以请任何人给我一个适合我的解决方案。
CREATE TABLE table1
(table1id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (table1id));
CREATE TABLE table2
(table2id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (table2id));
CREATE TABLE table3
(table1id INT NOT NULL AUTO_INCREMENT,
table2id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (table1id, table2id));
答案 0 :(得分:2)
问题在于这段代码:
if([_selectedstatearray containsObject:indexPath]) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
else {
cell.accessoryType = UITableViewCellAccessoryNone;
}
您正在检查_selectedstatearray是否包含指定的indexPath
,同时将它们存储为NSString [_selectedstatearray addObject:cellText];
用以下代码替换上面的代码:
NSString *text = [statearray objectAtIndex:indexPath.row];
if([_selectedstatearray containsObject:text]) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
else {
cell.accessoryType = UITableViewCellAccessoryNone;
}
答案 1 :(得分:0)
回答你的上一次评论
如果您将 selectedstatearray
传递给仅包含 {{的另一个ViewController's
(viewControllerB)UITableView
1}} 然后你可以添加
cell.accessoryType = UITableViewCellAccessoryCheckmark
在您的UITableVIew委托方法
selectedstatearray
这将为所有行添加复选标记
希望它有所帮助......