1

请你帮助我好吗。我需要执行编辑单元格。编辑应该是这样的:当我按下 barButtonItem(导航栏上的右侧)时,单元格的内容应该稍微向右移动,并且应该出现复选框。用户应该能够通过单击同一个导航按钮来选择多个单元格并提交编辑。我尝试使用标准编辑,但我不知道如何: - 选择多个单元格,然后才提交编辑 - 如何将提交操作设置为 navButton 而不是出现在每个选定单元格旁边的红色删除按钮

4

3 回答 3

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]; }

希望对你有帮助..

于 2012-04-25T13:07:01.560 回答
3

尼特的答案有一个错误。

编码

tableView.multiselectCheckmarkColor = [UIColor blueColor];

应该这样写:

[tableView setValue:[UIColor blueColor] forKey:@"multiselectCheckmarkColor"];

我在 Xcode 4.5 上试过这个,它工作。

于 2013-01-19T15:34:31.323 回答
0

如果它仍然相关,请注意在 iOS 7+ 上,您可以简单地使用 UITableView 的 tintColor 属性 - 这会设置复选标记颜色。

于 2014-07-06T13:32:04.213 回答