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