Выбранное состояние пользовательского UITableViewCell - PullRequest
0 голосов
/ 20 мая 2010

У меня есть таблица с пользовательскими ячейками, внесенными из файла IB. Ячейка создана так:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


    static NSString *MyIdentifier = @"MyIdentifier";
    MyIdentifier = @"BasicCell";

    BasicCell *cell = (BasicCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
    if(cell == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"BasicCell" owner:self options:nil];
        cell = basicCell;
    }

    [cell setLabelText:@"Test"];


return cell;
}

Ячейка сконструирована так, чтобы выглядеть как джазовая версия стиля скругленных таблиц (различные цвета, градиенты и т. Д.). Это действительно простая таблица стилей с пользовательской графикой. С точки зрения пользователей, он не лежит на одном уровне слева и справа от представления.

Когда я выбираю ячейку, как я могу изменить ее на другой пользовательский дизайн ячейки от IB? На данный момент, это просто показывает синюю стандартную выделенную вещь позади представления изображения, которое я использую в кончике ячейки. Поскольку я пытаюсь скопировать внешний вид таблицы с закругленными углами, думаю, мне потребуются три версии ячейки таблицы: верхняя округленная, стандартная и нижняя округленная.

1 Ответ

1 голос
/ 20 мая 2010

Вы не сможете заменить ячейку на другую конструкцию из IB, потому что для этого потребуется, чтобы она воссоздала себя сама (на самом деле вы могли бы, но это не выглядело бы хорошо, и это было бы довольно хакерски) ... однако вы можете иметь многодругое представление содержимого, определенное в IB, и объявление их всех в подклассе ячеек (который также можно привязать к вашему IB), затем вы можете просто скрыть представления и показать представления в зависимости от состояния выбора ... вы можете сделать это в выбранномметод ячейки UITableView: ref tableviewcell ref .. надеюсь, это поможет

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