Синхронизация анимаций вставки ячейки UITableView и изменение размера представления

Я реализую пользовательский вид, который имеет UITableView в качестве подзапроса. Этот пользовательский вид также является делегатом указанного UITableView. Мое намерение состоит в том, чтобы иметь два уровня ячеек. На более высокие уровни можно щелкнуть так, чтобы они рухнули и показали более низкие уровни.

развернут

Нажимая на ячейку под названием «категория B», это должно произойти:

развалился

Как вы можете видеть на рисунках, когда -tableView:didSelectRowAtIndexPath: первого уровня нажата (и -tableView:didSelectRowAtIndexPath: таблица расширяется (я использую -insertRowsAtIndexPaths:withRowAnimation: для вставки «подкатегории B1» в таблицу) ,

Я хочу, чтобы этот пользовательский вид был точно таким же размером видимого содержимого таблицы внутри. Прямо сейчас, после вставки новой ячейки, я говорю пользовательскому представлению о сбросе его фрейма с новой высотой содержимого UITableView.

Проблема связана с анимацией: я не могу синхронизировать анимацию вставки UITableView, а рамка пользовательского представления меняет ее высоту. Я могу сделать вид развернутым, а затем анимировать вставку или анимировать вставку сначала, а затем изменить кадр пользовательского представления.

Есть ли способ синхронизировать эти действия, чтобы они выполнялись в одну анимацию?

  • Как вертикально выровнять (в центре) содержимое UITableView?
  • Значения IndexPath меняются при прокрутке UITableviewcells?
  • Должен ли я использовать dequeReusableCellWithIdentifier?
  • Интервал между UITableViews, например Settings Application
  • Изменение размера ячейки таблицы в соответствии с высотой загруженного изображения
  • Динамическая высота UITableViewCell с переменным количеством подзонов с автозапуском
  • Как я могу использовать пользовательские UITableViewCell и UITableView в одном и том же xib
  • Остановка UITableView, потребляющая события касания, поэтому скользящее меню в виде родителя может обнаруживать горизонтальные прокрутки
  • 1 пиксельный зазор между первой и второй ячейками в сгруппированном UITableView
  • Ярлыки AutoLayout обрезаются с правой стороны экрана
  • UITableViewCells с перекрытием UIButton при прокрутке
  • Interesting Posts

    Пример экрана входа в систему на основе раскадровки

    Шаблон для отсутствия данных в разделе в коллекцииView / TableView

    Приложение отклонено из-за данных в каталоге документов

    Является ли applicationWillResignActive когда-либо вызываемым до того, как закончилFreeishLaunchingWithOptions?

    setNeedsDisplay не работает внутри блока

    Рамка просмотра внутри ячейки не изменяется в cellForRowAtIndexPath

    Перевод приложения iOS на неподдерживаемые / нестандартные языки

    Нажмите на Firebase с уникальным идентификатором

    Как перейти к ViewController в Xamarin iOS в событии RowSelected

    SenTestingKit / SenTestingKit.h не найден во время работы с Stripe

    Как использовать глобальные / статические переменные OBJ-C

    Есть ли какая-либо документация о том, сколько раз была областью применения баннеров iOS Smart App? Относится ли это при открытии каждой отдельной страницы?

    Как проверить, имеет ли приложение доступ к галерее телефона?

    Как настроить AVCaptureSession для высококачественных фотографий и низкого разрешения (видео)?

    Пользовательский init для UIViewController в Swift с настройкой интерфейса в раскадровке

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.