Intereting Posts
Как снести основной стек данных? Не удается создать / запустить приложение iOS с помощью Xcode, однако 'cordova run ios' отлично работает Преобразование NSString в NSAttribtuedString для рисования UIDocumentPickerViewController – каждый файл, который был выбран один раз, затем отображается серым цветом IOS UIButton не реагирует на прикосновение, принимает несколько нажатий, UIScreenEdge Gesture? Расширение UIView без изменения размера или перерисовки Измените размер, если Popover при использовании раскадровки Создайте и настройте один UIButton для нескольких данных Как удалить значки на значок трамплина при возобновлении приложения? Какой сервер является контактом GoogleKaps SDK iOS Быстрая пакетная загрузка фотографий в рулон камеры 'NSError' не конвертируется в 'NSError?' Как получить аудио / видео файлы из библиотеки iPhone и сохранить их в приложении Увольнение повторяющихся событий в Touch Down в iOS Ограничения просмотра – подгонка подзаголовка

Отправка «Редактировать» в таблицу (отдельные виды)

У меня есть ситуация, когда у меня есть ViewController, который содержит кнопку редактирования, и внутри этого другого представления (которое является отдельным) содержит мое табличное представление.

В настоящее время я добавляю кнопку редактирования программно (как и с одним представлением). Однако, как и ожидалось, когда вы нажимаете кнопку редактирования, она изменяется на «cancel», но таблица не переходит в режим редактирования (все нормальные методы включены и содержат код, который я буду использовать для одного представления).

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

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

Я собираюсь обратиться к контроллеру, которому принадлежит кнопка редактирования в качестве VC1, и контроллер, которому принадлежит (является делегатом для) табличное представление как VC2. Также прочитайте делегацию . Это не факультативный вопрос в разработке iOS.

В VC2 объявите метод с именем -setTableIsEditing: (BOOL) isEditing и реализуйте его, чтобы просто установить свойство isEditing в вашем представлении таблицы, например:

- (void)setTableIsEditing:(BOOL)isEditing { self.myTableView.isEditing = isEditing; } 

Затем в реализации VC1 кнопки touchUpInside делегировать обновление ivar bool для отслеживания режима редактирования и вызвать этот метод на VC2 с правильным параметром:

 - (IBAction)editButtonPressed { _isEditingTable = !_isEditingTable; [self.myVC2Instance setTableIsEditing:_isEditingTable]; } 

Делегат будет работать, или вы можете отправить NSNotification с помощью метода касания кнопки, к которому будет подписано табличное представление. Затем там вы вызываете [UITableViewCell setEditing: YES animated: YES] для каждой ячейки, если это необходимо.

Использование может использовать

  - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } 

И затем выполните

  // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath // You can use NSUserDefaults for sending information to the controllers in another view //and you can manipulate them. }