По моему опыту с UIPopoverController
объектами, поповер, кажется, использует максимальную высоту всякий раз, когда в поповер добавляется новый контент.Я отправляю поповерному контроллеру сообщение setPopoverContentSize:animated:
каждый раз, когда меняю содержимое, что, конечно, требует от меня сохранения ссылки на этот поповерный контроллер в каждом объекте, который может вызвать изменение размера поповера.Вы можете добавить это сообщение, отправленное сразу после вашего примера кода в вашем вопросе, чтобы предотвратить изменение размера всплывающего окна, но оно все равно может измениться, когда вы вытолкаете это представление из стека UINavigationController
, поэтому может потребоваться еще одна отправка сообщения.Возможно, каждый контроллер представления, который может появиться во всплывающем окне, отправит сообщение setPopoverContentSize:animated:
в своем методе viewWillAppear:
.У каждого также будет ссылка на контроллер поповера.