Почему содержимое моего UITableViewCell исчезает? - PullRequest
0 голосов
/ 18 марта 2010

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

Вот мой код:

+ (void) toggleCheckmarkedCell:(UITableViewCell *)cell {
    if (cell.accessoryType == UITableViewCellAccessoryNone)
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    else
        cell.accessoryType = UITableViewCellAccessoryNone;
}

А вот сделалSelectRowAtIndexPath:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

[RootViewController toggleCheckmarkedCell:cell];

Галочка включается / выключается и видна, но основное содержимое ячейки исчезает. Кто-нибудь может объяснить, почему это происходит?

Спасибо,

1 Ответ

7 голосов
/ 18 марта 2010

Ваши клетки не исчезают, они просто меняют selectionStyle. Например, у вас есть текст в textLabel с черным шрифтом. Когда вы щелкаете ячейку, вы выбираете ее, и свойство cell.selected изменяется на YES с автоматическим изменением цвета шрифта textLabel на белый и фона ячейки на синий. Затем вы меняете selectionStyle на UITableViewCellSelectionStyleNone и цвет фона ячейки меняется на белый. Но ячейка все еще остается выделенной, а цвет текста по-прежнему белым. Белый цвет на белом фоне просто невидим.

Чтобы решить эту проблему, вы должны изменить выбранное свойство, а не selectionStyle. Или используйте пользовательские ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...