Рекомендация по редактированию / удалению раздела - PullRequest
1 голос
/ 10 августа 2010

Документация Apple по UITableView обсуждает, как добавлять / редактировать / удалять строки, но не обсуждает добавление / редактирование / удаление разделов - это подробно, особенно в отношении пользовательского интерфейса.В случае добавления / удаления строк, вы можете применить стили «добавить» и «удалить» к строке, используя:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;

Однако, нет такого метода для разделов (о которых я знаю), которыйможет использоваться для показа пользователю визуальных элементов управления для добавления «+» или удаления «-» разделов.Я могу добавить новый раздел, используя логику, используемую для новой строки, однако я не уверен, как удалить весь раздел (или разрешить пользователю редактировать раздел, например, заголовок раздела).Как мне удалить весь раздел?

Справочная информация: Я работаю над приложением на основе базовых данных.У меня есть отношения один-ко-многим между сущностями.

Entity r (root)   <-->> Entity p (parent),
Entity p (parent) <-->> Entity c (child)

Когда пользователь создает родительскую запись (сущность p), автоматически создается фиксированный набор дочерних записей (сущность c).В пользовательском интерфейсе я показываю основную информацию о родителе (объект p) в заголовке, например заголовок, и связанные дочерние записи (объект c) в виде строк раздела, а также некоторые сводные данные в нижнем колонтитуле.По некоторым логическим причинам я не могу выбрать метод детализации (чтобы избежать добавления / удаления разделов).

1 Ответ

1 голос
/ 10 августа 2010

Отредактировано:

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

Вы бы использовали tableView: deleteSections: withRowAnimation: для удаления раздела.

Следующий вопрос SO разбирается в теме: UITableView: удаление разделов с анимацией

Было:

Во-первых,

// UITableView.h:311...
- (void)insertSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation;
- (void)deleteSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation;
- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);

Во-вторых,

UIKIT_EXTERN_CLASS @interface UITableView : UIScrollView <NSCoding> {
// ... 
NSInteger                   _swipeToDeleteSection;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...