как сделать uitableviewcell невыбираемым - PullRequest
11 голосов
/ 18 октября 2011

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

Существует порядок, в которомэти ячейки должны быть установлены так, чтобы каждый предыдущий список данных в подпредставлении был связан с набором данных в родительском представлении.

т.е. в первой ячейке вы выбираете тип автомобиля, в следующей ячейке выпосмотрите на модели, относящиеся к выбранному типу автомобиля.

С другой стороны Основа моего вопроса - как сделать ячейку невыбираемой до тех пор, пока не будут установлены предыдущие ячейки.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//...
if (indexPath.section == 0) 
    {

if (indexPath.row == 0) // <<--- what could I put in here.... 
        {
//...
}

}}

Ответы [ 3 ]

26 голосов
/ 18 октября 2011

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

[cell setUserInteractionEnabled:NO];

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

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

- (void) tableViewDidSelectRow.... {
    if(indexPath.row == indexOfCellWithNoUserInteraction) {
        //do nothing
    }
}
6 голосов
/ 18 октября 2011

Использование tableView:willSelectRowAtIndexPath:. Вернуть ноль для строк, которые вы не хотите выделять.

2 голосов
/ 09 сентября 2015

Синтаксис Swift

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