答案 0 :(得分:3)
多选被视为编辑风格之一。因此,要使单元格可多选,请在UITableViewDelegate中实现:
-(UITableViewCellEditingStyle)tableView:(UITableView*)tableView editingStyleForRowAtIndexPath:(NSIndexPath*)indexPath {
...
return 3;
}
这里的“3”表示多选。结果是这样的:
要获取所选行,请调用
-indexPathsForSelectedRows method on the table view.
NSArray* selectedRows = [tableView indexPathsForSelectedRows];
如果您不喜欢红色复选标记,则可以使用未记录的multiselectCheckmarkColor属性进行更改。不幸的是,它必须应用于整个表格。
tableView.multiselectCheckmarkColor = [UIColor blueColor];
除非您进行子类化或分类
,否则无法更改浅蓝色背景颜色UITableViewCell and override the -_multiselectBackgroundColor method, like this:
-(UIColor*)_multiselectBackgroundColor { return [UIColor yellowColor]; }
希望,这会对你有帮助..
答案 1 :(得分:3)
Nit的答案有一个错误。
代码
tableView.multiselectCheckmarkColor = [UIColor blueColor];
应该写成这样:
[tableView setValue:[UIColor blueColor] forKey:@"multiselectCheckmarkColor"];
我在Xcode 4.5上试过这个并且它有效。
答案 2 :(得分:0)
如果它仍然相关,请注意在iOS 7+上您只需使用UITableView的tintColor属性 - 这会设置复选标记颜色。