更改UITableView中复选标记的颜色

有人能这么友好地告诉我如何改变UITableView的复选标记的颜色?

我已经搜查,但似乎并没有得到它的工作。

干杯

苹果公司并没有提供公共的方式来改变复选标记的颜色,所以你必须用图像来完成。

这非常简单,只需将单元格的accesoryView属性设置为包含正确颜色复选标记的UIImageView即可。

它看起来像这样:

UIImageView *checkmark = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"coloredCheckmark.png"]]; cell.accessoryView = checkmark; [checkmark release]; 

请享用!

由于iOS SDK已经被接受的答案已经改变,我想我只是更新一个新的答案。

实际上,您可以通过调整UITableViewCelltintColor属性来更改UITableViewCell标记的颜色UITableViewCell.

您也可以为所有UITableViewCells设置一个外观代理,以便所有实例都有特定的色调,除非另有说明

 [[UITableViewCell appearance] setTintColor:[UIColor redColor]]; 

以下在iOS 7中为我工作。

 [self.tableView setTintColor:[UIColor someColor]]; 

如果你正在寻找一个Swift版本:

直接在细胞上

例如在tableView(_:,cellForRowAtIndexPath:)

 cell.tintColor = UIColor.redColor() 

使用外观协议

 UITableViewCell.appearance().tintColor = UIColor.redColor() 

此图像显示如何在故事板中执行此操作。色调颜色是复选标记颜色。

在这里输入图像说明

我发现igraczech的答案大部分是正确的,但在iOS 6或更高版本中,您可以设置整个tableview的色调颜色,并且默认项目将inheritance。

 [self.tableView setTintColor:[UIColor someColor]]; 

这对我有用,并允许我在复选标记中着色。

从iOS 7开始,您可以设置视图控制器视图的色调,以便将这个色调colow作为子视图。 所以要设置你的UITableViewCell的复选标记为紫色(例如),在你的viewWillAppear方法中你需要:

 [self.view setTintColor:[UIColor purpleColor]]; 

UIAccessoryTypeCheckmark(右侧)inheritance了tableview的背景颜色。

 self.tableView.backgroundColor = [UIColor clearColor]; 
 #import "UIImage+Color.h" UIImage *image = [[UIImage imageNamed:@"ic_check_black_24dp.png"] changeColor:CLR_BUY]; UIImageView *checkmark = [[UIImageView alloc] initWithImage:image]; cell.accessoryView = checkmark; 
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ HNCustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"HNCustomTableViewCell" forIndexPath:indexPath]; cell.tintColor = [UIColor colorWithRed:0.99 green:0.74 blue:0.10 alpha:1.0]; return cell; } 

它为我工作。

您不必使用自己的图像,只需在您的视图中使用以下代码加载即可。

 [self.tableView setTintColor:[UIColor colorWithRed:250/255.0 green:223/255.0 blue:6/255.0 alpha:1]] 

干杯!

Swift 3.1,iOS 9+

 if #available(iOS 9.0, *) { UIImageView.appearance(whenContainedInInstancesOf: [UITableViewCell.self]).tintColor = UIColor.themeTint //add your color here } else { // Fallback on earlier versions } 

结果