Кнопка UITableViewCell не получает тег при вставке новой строки - PullRequest
3 голосов
/ 07 марта 2012

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

Я пытался 1. перезагрузка таблицы - не работает 2. перезагрузка раздела - не работает 3. перезагрузка строк на всех indexPaths - не работает

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

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:newRowNo inSection:0];
NSArray *otherArray = [NSArray arrayWithObject:indexPath];
[tableViewObj insertRowsAtIndexPaths:otherArray withRowAnimation:UITableViewRowAnimationNone];

и в cellForRowAtIndexPath: (NSIndexPath *) indexPath У меня есть кнопка infoButton, тег которой установлен в соответствии с indexPath infoButton.tag = indexPath.row;

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Еще одна причина, по которой теги в ячейках табличного представления - это неправильный способ определить, какая кнопка была нажата. Смотрите мой ответ здесь: https://stackoverflow.com/a/9274863/852828

1 голос
/ 07 марта 2012

Если вы используете метод "dequeueReusableCellWithIdentifier:" при создании ваших ячеек, это может быть причиной, по которой теги кнопок не меняются.

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