参考文档
用 TableView 自带的选择功能,进行多选是比较方便的
tableView.allowsMultipleSelectionDuringEditing = YES;
但一般项目会要求对样式,即选择的图片或颜色 进行修改
// 修改TableViewCell在编辑模式下选中按钮的图片
- (void)layoutSubviews
{
[super layoutSubviews];
for (UIControl *control in self.subviews) {
if (![control isMemberOfClass:NSClassFromString(@"UITableViewCellEditControl")]){
continue;
}
for (UIView *subView in control.subviews) {
if (![subView isKindOfClass: [UIImageView class]]) {
continue;
}
UIImageView *imageView = (UIImageView *)subView;
if (self.selected) {
imageView.image = [UIImage imageNamed:@"check_selected"]; // 选中时的图片
} else {
imageView.image = [UIImage imageNamed:@"check_normal"]; // 未选中时的图片
}
}
}
}
// 修改TableViewCell在编辑模式下选中按钮的颜色
- (void)layoutSubviews
{
[super layoutSubviews];
for (UIControl *control in self.subviews) {
if (![control isMemberOfClass:NSClassFromString(@"UITableViewCellEditControl")]){
continue;
}
for (UIView *subView in control.subviews) {
if (![subView isKindOfClass: [UIImageView class]]) {
continue;
}
UIImageView *imageView = (UIImageView *)subView;
if (self.selected) {
// KVC修改
[imageView setValue:kNavBarColor forKey:@"tintColor"]; // 选中时的颜色
} else {
[imageView setValue:kGrayTextColor forKey:@"tintColor"]; // 未选中时的颜色(貌似没用?)
}
}
}
}
网友评论