Пользовательский UITableViewCell, UITableView и позволяет MultipleSelectionDuringEditing
У меня проблема с использованиемiOS 5 новый функционал для выбора нескольких ячеек в режиме редактирования. Структура приложения следующая:
-> UIViewController
---> UITableView
----> CustomUITableViewCell
гдеUIViewController
является и делегатом, и источником данных дляUITableView
(Я используюUIViewController
вместоUITableViewController
по причинам требования, и я не могу изменить это). Клетки загружаются вUITableView
как следующий код.
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomTableViewCell *cell = (CustomTableViewCell*)[tv dequeueReusableCellWithIdentifier:kCellTableIdentifier];
if (cell == nil)
{
[[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCellXib" owner:self options:nil];
cell = self.customTableViewCellOutlet;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
// configure the cell with data
[self configureCell:cell atIndexPath:indexPath];
return cell;
}
Интерфейс ячейки был создан из файла XIB. В частности, я создал новый xib-файл, в котором суперпредставление состоит изUITableViewCell
элемент. Чтобы обеспечить настройку, я установил тип для этого элемента какCustomUITableViewCell
, гдеCustomUITableViewCell
продолжаетсяUITableViewCell
.
@interface CustomTableViewCell : UITableViewCell
// do stuff here
@end
Код работает хорошо. В таблице отображаются пользовательские ячейки. Теперь во время выполнения приложения я установилallowsMultipleSelectionDuringEditing
вYES
и я вхожу в режим редактирования дляUITableView
, Кажется, работает. Фактически рядом с каждой ячейкой появляется пустой круг. Проблема в том, что когда я выбираю строку, пустой круг не меняет своего состояния. Теоретически, круг должен измениться с пустой на красную галочку и наоборот. Кажется, что круг остается вышеcontentView
для клетки.
Я провел много экспериментов. Я также проверил также этот следующий метод.
- (NSArray *)indexPathsForSelectedRows
и он обновляется во время выбора в режиме редактирования. Он отображает правильно выбранные ячейки.
Дело в том, что мне не так ясно, что когда я пытаюсь работать без пользовательской ячейки, только сUITableViewCell
, круг обновляет свое состояние правильно.
У вас есть какие-либо предложения? Заранее спасибо.