2013-11-29 2 views
0

Есть ли способ отключить все ячейки в UITableView, которые не используются? В моем приложении пользователь выбирает максимум две ячейки, и после выбора двух ячеек я хочу, чтобы все остальные ячейки были отключены, но я не могу понять это. Любая помощь будет принята с благодарностью, спасибо!Как отключить все невыделенные ячейки в UITableView

ответ

2

Вы не хотите отключать строки, вы хотите запретить пользователю выбирать дополнительные строки, не так ли?

Внедрение метода делегирования tableView:willSelectRowAtIndexPath:. Если уже выбраны две строки, вы должны вернуть nil, иначе верните путь к индексу.

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (/* check if there are already two selected rows */) { 
     return nil; 
    } else { 
     return indexPath; 
    } 
} 
+0

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

+0

Двойная проверка, чтобы узнать, вызывается ли 'didSelectRowAtIndexPath:' в этом случае. Возможно, вам придется добавить некоторую логику к этому методу, чтобы игнорировать выбор, если уже есть два выбора. – rmaddy

+0

Этот метод был реализован, но я взял его, чтобы проверить, было ли это так, но проблема долгого удерживания по-прежнему сохраняется. –

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