Контроль перестановки не отображается в виде таблицы
Я создал приложение iOS на основе шаблона приложения на основе навигации, приложение поддерживается базой данных Core.
При нажатии кнопки "Изменить" я хочу, чтобы строки были переупорядочиваемыми и удаляемыми.
При создании ячеек я добавил эту строку:
cell.showsReorderControl = YES;
И метод tableView:canMoveRowAtIndexPath:
возвращает YES.
Но управление переупорядочением не отображается в строке, я что-то не хватает?
Ответы
Ответ 1
Из UITableViewCell показывает документыReorderControl:
Чтобы появился элемент управления переупорядочением, вы должны не только установить это свойство, но реализует метод UITableViewDataSource Tableview: moveRowAtIndexPath: toIndexPath:. Кроме того, если данные source реализует tableView: canMoveRowAtIndexPath: для возврата NO, управление переупорядочением не отображается в указанной строке.
Ответ 2
UITableView также должен находиться в режиме редактирования, который по умолчанию не включен. Обычно для переключения между режимом редактирования используется кнопка или какой-либо другой элемент управления. Чтобы поместить представление таблицы в режим редактирования (мы предполагаем, что у вас есть UITableViewController, и ваше свойство tableView правильно настроено, если нет, настройте для своей среды):
// This line somewhere inside the UITableViewController will
// animate in the various editing controls and make sure they
// show up on your table.
[[self tableView] setEditing:YES animated:YES];
Ответ 3
попробуйте это.,.Вы должны реализовать эти два метода, чтобы получить этот контроль порядка в режиме редактирования
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
}