Изменить цвет на галочке в UITableView
Может ли кто-нибудь быть таким добрым, чтобы показать мне, как изменить цвет на галочке в UITableView?
Я искал, но, похоже, не работал.
Приветствия
Ответы
Ответ 1
Apple не предоставляет общедоступный способ изменить цвет галочки, поэтому вам придется делать это с изображением.
Это очень просто, просто установите свойство accesoryView ячейки в UIImageView, содержащее галочку правильного цвета.
Это будет выглядеть так:
UIImageView *checkmark = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"coloredCheckmark.png"]];
cell.accessoryView = checkmark;
[checkmark release];
Наслаждайтесь!
Ответ 2
Поскольку IOS SDK изменился с момента принятия ответа, я подумал, что просто обновляю новый ответ.
Фактически вы можете изменить цвет галочки в UITableViewCell
, отредактировав свойство tintColor
UITableViewCell.
Вы также можете установить прокси-сервер внешнего вида для всех UITableViewCells, чтобы ВСЕ экземпляры имели определенный цвет оттенков, если не указано иное
[[UITableViewCell appearance] setTintColor:[UIColor redColor]];
Ответ 3
Если вы ищете версию Swift:
Непосредственно на ячейке
Например, в tableView(_:,cellForRowAtIndexPath:)
cell.tintColor = UIColor.redColor()
Использование протокола внешнего вида
UITableViewCell.appearance().tintColor = UIColor.redColor()
Ответ 4
В iOS 7 работало для меня.
[self.tableView setTintColor:[UIColor someColor]];
Ответ 5
На этом изображении показано, как это сделать в раскадровках. Цвет оттенка - это галочка.
![enter image description here]()
Ответ 6
Я обнаружил, что ответ igraczech в основном правильный, но с iOS 6 или более поздней версией вы можете просто установить цвет оттенка всего вида таблицы, а элементы по умолчанию наследуют вниз.
[self.tableView setTintColor:[UIColor someColor]];
Это сработало для меня и позволило мне покрасить в галочку.
Ответ 7
Запустив iOS 7, вы можете установить цвет оттенка в представлении контроллера вида, чтобы этот оттенок цвета был распространен на все его дочерние представления. Поэтому, чтобы установить галочку UITableViewCell как фиолетовый цвет (например), в вашем методе viewWillAppear вам необходимо:
[self.view setTintColor:[UIColor purpleColor]];
Ответ 8
UITableViewCell *cell=(UITableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"CellIdentifier" forIndexPath:indexPath];
cell.tintColor=UIColor.whiteColor;
return cell;
Ответ 9
UIAccessoryTypeCheckmark (правая сторона) наследует цвет фона своего табличного представления.
self.tableView.backgroundColor = [UIColor clearColor];
Ответ 10
#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;
Ответ 11
- (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;
}
Это работает для меня.
Ответ 12
Я всегда использовал этот простой способ:
UITableViewCell *cell = ...;
cell.tintColor = [UIColor greenColor];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
Ответ 13
Вам не нужно использовать свой собственный образ, вы можете просто изменить его в своем представлении, загрузив его с помощью следующего кода.
[self.tableView setTintColor:[UIColor colorWithRed:250/255.0 green:223/255.0 blue:6/255.0 alpha:1]]
Ура!
Ответ 14
Приведенные выше ответы все отлично. Но если вы хотите сделать это глобально, просто сделайте
UITableViewCell.appearance().tintColor = .green
Хороший маленький трюк :)
Ответ 15
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
}
![Result]()