iPhone: Как создать расширяемый вид таблицы? - PullRequest
0 голосов
/ 27 сентября 2011

Я хочу создать расширяемое табличное представление.

Я нашел одну ссылку , такую ​​же, как я хочу.

enter image description here

Но я хочу создать свое собственное табличное представление (не хочу реализовывать этот код GitHub).

Как мне достичь такого типа функциональности?

Ответы [ 2 ]

1 голос
/ 27 сентября 2011

Смотрите этот хороший учебник: Анимация и жесты в табличном представлении

Демонстрирует, как можно использовать анимированные обновления, чтобы открывать и закрывать разделы табличного представления для просмотра, где каждый раздел представляет пьесу, а каждая строка содержит цитату из пьесы. Он также использует распознаватели жестов для ответа на пользовательский ввод: * UITapGestureRecognizer, позволяющий нажимать на заголовки разделов, чтобы развернуть раздел; * UIPinchGestureRecognizer для динамического изменения высоты строк табличного представления; и * UILongPressGestureRecognizer, позволяющий удерживать и удерживать ячейки табличного представления, чтобы инициировать электронное сообщение предложения.

0 голосов
/ 17 сентября 2013

Я сталкивался с подобной функцией, чтобы построить ее грубый алгоритм будет:

  1. реализовать протоколы uitableviewdelgate и uitableviewdatasource

  2. создатьглобальная переменная extendedSectionIndex = -1;

    = -1 представляет все свернутые.

    = 0 представляет расширенный индекс.

    //the following protocol definitions will take care of which section is to be expanded.
    
     - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
      {
          if(expandedSectionIndex == section) 
               return [self.dataArray[section] count];
          else 
                return 0;
       }
    
      - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
      {
         if(self.dataArray)
                return [self.dataArray count]; 
      }
    

    определяет настраиваемые представления заголовков в - tableView: viewForHeaderInSection:

    • кнопки, имеющие рамку, эквивалентную рамке представления заголовка
    • установить свойство тега кнопки со значением номера раздела.
    • связать все кнопки с селектором - (void) развернуть: (id) отправителя;

      - (void)expand:(id) sender
       {
          expandedSectionIndex = [sender tag];
          [self.tableView reload];
       }
      

      для более подробной информации введите описание ссылки здесь

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