Изменить цвет на галочку в UITableView - PullRequest
54 голосов
/ 04 октября 2011

Может ли кто-то быть так любезен, чтобы показать мне, как изменить цвет на галочке в UITableView?

Я искал, но, похоже, это не работает.1005 *

Ответы [ 15 ]

200 голосов
/ 23 сентября 2013

Поскольку iOS SDK изменился с момента принятия ответа, я подумал, что просто обновлюсь с новым ответом.

Фактически вы можете изменить цвет галочки в UITableViewCell, настроив tintColor свойство UITableViewCell.

Вы также можете установить внешний прокси для всех UITableViewCells, чтобы ВСЕ экземпляры имели определенный оттенок, если не указано иное

[[UITableViewCell appearance] setTintColor:[UIColor redColor]];
42 голосов
/ 04 октября 2011

Apple не предоставляет общедоступный способ изменить цвет галочки, поэтому вам придется делать это с изображением.

Это очень просто, просто установите для свойства accesoryView ячейки значение UIImageView, содержащее галочку правильного цвета.

Это будет выглядеть так:

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

Наслаждайтесь!

31 голосов
/ 05 августа 2015

Если вы ищете версию Swift:

Прямо в ячейке

Например, в tableView(_:,cellForRowAtIndexPath:)

cell.tintColor = UIColor.redColor()

Использование протокола внешнего вида

UITableViewCell.appearance().tintColor = UIColor.redColor()
29 голосов
/ 23 ноября 2013

Следующее работало у меня в iOS 7.

[self.tableView setTintColor:[UIColor someColor]];
14 голосов
/ 06 ноября 2014

Это изображение показывает, как это сделать в раскадровке. Цвет Оттенок - это цвет галочки.

enter image description here

13 голосов
/ 22 ноября 2013

Я обнаружил, что ответ igraczech в основном правильный, но в iOS 6 или более поздней версии вы можете просто установить цвет оттенка всего табличного представления, и элементы по умолчанию будут наследоваться.

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

Это сработало для меняи позволил мне раскрасить галочку.

8 голосов
/ 05 октября 2013

Начиная с iOS 7, вы можете установить цвет оттенка вида вашего контроллера представления, чтобы этот оттенок цвета был распространен на все его дочерние виды. Поэтому, чтобы установить галочку вашего UITableViewCell как, например, фиолетовый цвет, в вашем методе viewWillAppear вам нужно:

[self.view setTintColor:[UIColor purpleColor]];
4 голосов
/ 10 апреля 2018
 UITableViewCell *cell=(UITableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"CellIdentifier" forIndexPath:indexPath];
cell.tintColor=UIColor.whiteColor;
return cell;
3 голосов
/ 11 мая 2013

UIAccessoryTypeCheckmark (правая сторона) наследует цвет фона своего представления таблицы.

self.tableView.backgroundColor = [UIColor clearColor];
2 голосов
/ 27 ноября 2017

Я всегда использовал этот простой способ:

UITableViewCell *cell = ...;
cell.tintColor = [UIColor greenColor];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
...