Я использую методику, описанную здесь, для правильного обновления размера представления поповера при переключении между контроллерами представления:
Поповер со встроенным навигационным контроллером не учитывает размер при навигации назад
Работает нормально ... кроме этого: кнопка, которую я использую для вызова поповера, находится в правом углу окна.Как и ожидалось, всплывающее окно отображается слева от него.
Итак, давайте предположим, что кнопка находится в кадре (900, 700, 40, 40), а первый контроллер вида имеет размер 200 x 200.
Всплывающий вид расположен приблизительно в (700, 500, 200, 200).
Если в этом контроллере вида я нажимаю другой, более крупный вид (скажем, 400x400), представление всплывающего окна изменяется соответственно, перемещаясь влево.
Однако, когда я возвращаюсь назад (в контроллер вида 200x200) размер всплывающего окна изменяется, но он остается слева, поэтому он приблизительно расположен в (500, 500, 200, 200).
Другими словами, если при навигации по иерархии представлений существует более широкое представление, оно будет расширяться влево, а при возврате - уменьшаться справа (эффективно перемещая содержимое влево).
Примечание: извините за запутанное объяснение.Не очень хорошо знал, как объяснить эту проблему.
Кстати: точно такая же программа работает отлично, если я помещаю кнопку в левой части вида, поэтому поповер вынужден с самого начала расти вправо - однако маркетингу нужна кнопка справа,