2012-02-24 4 views
0

Я пытаюсь сделать UITableView как родного календаря приложения:UITableView ... правильный путь

enter image description here

, но я пытаюсь узнать лучший способ сделать это. Я могу получить это по большей части с помощью оператора switch в методе cellForRowAtIndexPath, но у меня возникают проблемы с изменением textColor при выборе ячейки.

По какой-то причине cell.isSelected всегда НЕТ, и у меня нет возможности перезагрузить табличное представление после того, как выбрана другая ячейка.

Должен ли я подкласс UITableViewCell для чего-то такого простого и хранить массив ячеек?

Любая помощь будет оценена, спасибо.

ответ

0

Там нет необходимости подкласса, как указана в app doc функция делегирования:

tableView:willSelectRowAtIndexPath: 

должен сделать трюк

EDIT:

Ниже вы найдете некоторый код, который необходимо продемонстрировать идею использования делегата. Обратите внимание, что этот код не тестировался, так как в настоящее время я не перед моим xcode.

-(void)willSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (prevIndexPath != nil) { 
     UITableViewCell* prevCell = [self.tableView cellForRowAtIndexPath: prevIndexPath]; 
     prevCell.textLabel.textColor = [UIColor black]; // your initial color here 
    } 

    UITableViewCell* cell = [self.tableView cellForRowAtIndexPath: indexPath]; 
    cell.textLabel.textColor = [UIColor green]; 

    prevIndexPath = indexPath; 
} 

Убедитесь, что установлен протокол UITableViewDelegate к вашему контролирующей класса, которое управляет TableView и установить tableViews.delegate к этому.

Чтобы этот код выполнялся, вы также должны определить свойство или переменную с именем prevIndexPath. В этом есть ячейка, выбранная ранее, которая требуется для возврата к исходному цвету ячейки.

+0

так как я могу изменить пользовательские UILabels на ячейках для всех ячеек в таблице? – VTS12

+0

Я только что обновил свой ответ –

+0

Извините, если я неясен, но я пытаюсь изменить textColor пользовательских ярлыков (один говорит «Начать», что другой говорит «Thu, Feb 24, 5:10 PM») для ячейки 0 и ячейка 1. – VTS12

Смежные вопросы