Как изменить цвет UITableViewCellAccessoryType.Checkmark?

Вот мой код:

cell.accessoryType = UITableViewCellAccessoryType.Checkmark

Но когда я запускаю приложение, я не вижу галочки.

Затем я устанавливаю черный цвет фона и вижу белую галочку.

Как изменить цвет галочки на другие цвета, например синий?


person Assen Robin    schedule 10.06.2015    source источник
comment
Привет, как изменить цвет фона?   -  person rshimoda    schedule 09.10.2015
comment
Возможный дубликат SWIFT - UITableViewCellAccessoryType Изменить цвет галочки   -  person PAC    schedule 19.02.2016


Ответы (3)


Да, ты можешь сделать это.

Просто установите tintColor ячейки.

cell.tintColor = UIColor.whiteColor()
cell.accessoryType = UITableViewCellAccessoryType.Checkmark

Свифт 3

let aCell = tableView.dequeueReusableCell(withIdentifier: "Cell")!
aCell.tintColor = UIColor.red
aCell.accessoryType = .checkmark
return aCell

ВЫВОД

Это также можно сделать в Инспекторе атрибутов

ВЫВОД

person Ashish Kakkad    schedule 10.06.2015
comment
Извините @Ashish Kakkad, ваше решение очень хорошо работает с аксессуаром с галочкой, но у Apple есть проблема с аксессуаром для раскрытия информации. Ни одно решение не работает с раскрытием информации. (Я изменил свой голос за вас) =] - person Henrique Güttler Morbin; 10.01.2017
comment
@HenriqueGüttlerMorbin Все в порядке. Если я нашел что-нибудь о разоблачениях, я отпишусь здесь. :) - person Ashish Kakkad; 11.01.2017

Просто установите цвет оттенка UITableViewCell из Attribute Inspector или с помощью кода, как показано ниже.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cellIdentifier = "SimpleTableViewCell"
    let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath)

    // just add below lines
    cell.accessoryType = UITableViewCellAccessoryType.checkmark
    cell.tintColor = UIColor.red


    return cell
}

@HenriqueGüttlerMorbin проверьте это, надеюсь, это сработает для вас.

person Maishi Wadhwani    schedule 10.01.2017

Вы также можете установить цвет в своем классе ячеек (тот, который является подклассом класса UITableViewCell). Установите свойство tintColor в вашем методе awakeFromNib, если вы хотите, чтобы один и тот же цвет применялся ко всем строкам вашего табличного представления. Вот так:

override func awakeFromNib() {
    super.awakeFromNib()
    accessoryType = .checkmark
    tintColor = .red
}

Конечно, если вы установите цвет в методе cellForRowAt вашего контроллера представления, вы можете использовать параметр indexPath в свою пользу, чтобы установить разные цвета в соответствии с отображаемой строкой.

person Bruno Campos    schedule 01.09.2019