2014-12-23 2 views
0

Я пытаюсь имитировать функциональность, замеченную в таблицах голосовой почты и голосовой почты на iPhone. Когда ячейка выбрана, все остальные ячейки выделены серым цветом и отключены.UITableView Серый из каждой ячейки, за исключением выбранной ячейки

[1]: http://i.imgur.com/S01hCCM.png «Пример»

Моя мысль была запустить цикл в методе «didSelectRowAtIndexPath» и отключить каждую ячейку, которая не была выбрана IndexPath. Но это кажется неэффективным. Есть ли другой способ?

+0

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

+0

Сделайте свой цвет фона серым, а цвет выбора - белым. – Logan

+0

@Logan: Я должен был уточнить. Исходное состояние состоит в том, что все ячейки белые. Когда один выбран, они остаются серыми. Если выбранная ячейка нажата, она отменит выбор и вернется к белому. – lernerbot

ответ

1

Учитывая, что пользователь не может прокручивать. Я бы создал два черно-белых альфа-UIViews и поместил их выше выбранной ячейки и один под выбранной ячейкой. Я бы либо имел эти два представления перехватывать любые краны, либо отключить взаимодействие пользователя для базового tableView, в зависимости от того, что проще всего.

+0

Это умный подход. Если бы вы делали это с двумя разделами, вам нужны 3 черных/альфа-UIViews? – lernerbot

+0

Да, и имейте в виду, что все, кроме одного, могут иметь высоту нуля. –

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