UIPageViewController имеет неправильный UIQueuingScrollView после перезагрузки

#ios #swift #uipageviewcontroller

#iOS #swift #uipageviewcontroller

Вопрос:

У UIViewController меня есть 2 контейнера с UIPageViewControllers , каждый из которых имеет 1 UIImage . Приложение имеет tabbar .

  • Когда я загружаю основной viewcontroller , все в порядке. Но когда я представляю новый контроллер представления, а затем отклоняю его, я вижу странное поведение на втором UIPageViewController : UIView внутри он расположен ниже, чем должен быть. Когда я нажимаю на UIImage , он возвращается в обычное местоположение.

  • Как я вижу в отладчике, высота UIQueuingScrollView верха и низа UIPageViewControllers не одинакова.

  • В случае, когда я перемещаюсь между tabbars ними, все в порядке

Что может быть не так? почему появляется дополнительное пространство после просмотра и отклонения нового контроллера представления?

после первой загрузки
после увольнения нового контроллера представления
отладчик

Комментарии:

1. каков режим изображения?

2. Режим UIView (контейнера) — масштабирование для заполнения, режим UIImage — подгонка по размеру, изображение имеет динамическую высоту. Значение высоты изображения динамически изменяется в коде в contentViewController: переопределите функцию viewDidLayoutSubviews() { imageHeightLayout.constant = super.view.bounds. высота ImageView.image = UIImage(имя: currentProgram.imageName) }