有没有简单的方法可以将“UITableViewCellAccessoryCheckmark”的颜色从标准蓝色更改为黑色? 或者我是否需要创建uitableviewcell的子类并自己插入imageview?
谢谢:-) 塞巴斯蒂安
答案 0 :(得分:1)
据我所知,没有办法做到这一点。
我最终为我的accessoryView实现了一个完整的自定义视图。它还可以更容易地在用户交互时更改它并决定可点击区域,我经常发现它很小。如果您不需要不同的观点,我猜您只需按一下按钮即可。
我做了一个customView,在里面放了一个透明按钮。这个视图我添加到单元格中:
CustomDisclosureArea *disArea = [[CustomDisclosureArea alloc] init];
[disArea setFrame:CGRectMake(280.0f, 0.0f, 40.0f, 71.0f)];
[disArea setTag:DISCLOSURE_ID];
[disArea.emptyButton addTarget:self action:@selector(cellButtonHandler:event:) forControlEvents:UIControlEventTouchUpInside]; //this the button inside the view.
[cell.contentView addSubview:disArea];
[disArea switchToState:AreaStateBlank]; //I can set it to different states (blank, checkmark, empty etc.
[disArea release];
现在点击accessoryView时调用的方法有点特殊,因为我们需要知道哪个单元被点击了。
- (void) cellButtonHandler:(id)sender event:(id)event {
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint: currentTouchPosition];
}
但是你得到了一个NSIndexPath,它与你在didSelectRow或accessoryButtonTapped方法中得到的相同。
希望如果您决定制作自定义配件,这会有所帮助:)
答案 1 :(得分:0)
我还没有尝试过,但是可以简单地查询单元格的accessoryView
属性并找到复选标记并将其替换为另一个图像(几乎可以肯定是图像。)我认为是单元格样式只是一个默认样式表格单元格,其中包含一个包含复选标记的图像单元格。