У меня проблема с использованием iOS 5 Новая функциональность для выбора нескольких ячеек в режиме редактирования. Структура приложения заключается в следующем:Пользовательский UITableViewCell, UITableView и разрешает многоуровневый выборDuringEditing
-> 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
, круг обновляет свое состояние правильно.
Есть ли у вас какие-либо предложения? Заранее спасибо.