как отображать ячейки табличного представления всякий раз, когда нам нужно нажать на одну ячейку - PullRequest
0 голосов
/ 21 декабря 2010

Я пишу одно приложение в этом приложении, мне нужно отобразить табличное представление с двумя ячейками. В то время как первая ячейка, которой коснулся пользователь, должна показать некоторые другие ячейки в представлении (я не могу использовать навигацию здесь), а также вторую ячейку. также видно .. может кто-нибудь сказать мне предложение для этого. спасибо всем.

Ответы [ 3 ]

1 голос
/ 21 декабря 2010

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

Предположим, вы собираетесь вставить 3 строки в позиции 1, 2 и 3 в разделе 0. В методе didSelectRowAtIndexPath выполните следующие действия. Здесь строки будут вставлены в секцию 0, если мы выберем строку 0 (первая строка) в секции 0 (первая секция).

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

   if (indexPath.row == 0 && indexPath.section == 0) {

       // Create indexPaths for the rows you are going to insert

       NSIndexPath *indexPath1 = [NSIndexPath indexPathForRow:1 inSection:0]];
       NSIndexPath *indexPath2 = [NSIndexPath indexPathForRow:2 inSection:0]];
       NSIndexPath *indexPath3 = [NSIndexPath indexPathForRow:3 inSection:0]];

       // Increase the number of rows in section 0 by 3, as we are inserting 3 rows here

       numberOfRowsInSectionZero = numberOfRowsInSectionZero + 3;

       // Insert the rows

       [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath1, indexPath2, indexPath3, nil] withRowAnimation:UITableViewRowAnimationFade];
    }
}

В вашем методе numberOfRowsInSection вы должны иметь что-то вроде следующего:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection: (NSInteger)section {

    // some code here

    if (section == 0) return numberOfRowsInSectionZero;

    // some code here
}

И убедитесь, что у вас есть соответствующий код в методе cellForRowAtIndexPath для отображения содержимого во вновь отображаемых строках.

Примечание. Необходимо изменить код таким образом, чтобы строки не вставлялись при щелчке строки 0 раздела 0, когда они уже вставлены.

0 голосов
/ 21 декабря 2010
  1. определить объект данных, например NSMutableDictionary
  2. всегда считывает данные из этого объекта (для подсчета, а также для значений, которые вы хотите показать)
  3. в случае, если пользователь щелкает по определенной ячейке. вы очистите MutableDirectory и добавите новые данные.
  4. Перезагрузить TableViewController [tableviewController.tableview reloadData];

вот и все ура Саймон

0 голосов
/ 21 декабря 2010

делает переменную bool (isRowClick) и

установить ДА в didSelectRow и затем написать эту строку

[yourTable reloadData];

и

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

if(isRowClick)
  return 7;//according to you  
else
  return 2;
}



- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

  isRowSelect=YES;
 //stuff
}

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

//stuff according to you
}

это поможет тебе.

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