UITableViewCellAccessoryCheckmark黑色?

时间:2010-03-03 11:40:20

标签: iphone objective-c uitableview

有没有简单的方法可以将“UITableViewCellAccessoryCheckmark”的颜色从标准蓝色更改为黑色? 或者我是否需要创建uitableviewcell的子类并自己插入imageview?

谢谢:-) 塞巴斯蒂安

2 个答案:

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

但是你得到了一个N​​SIndexPath,它与你在didSelectRow或accessoryButtonTapped方法中得到的相同。

希望如果您决定制作自定义配件,这会有所帮助:)

答案 1 :(得分:0)

我还没有尝试过,但是可以简单地查询单元格的accessoryView属性并找到复选标记并将其替换为另一个图像(几乎可以肯定是图像。)我认为是单元格样式只是一个默认样式表格单元格,其中包含一个包含复选标记的图像单元格。