В своем приложении для iPad я сохраняю состояние (видимое / не видимое) всплывающего окна.Итак, во время запуска приложения я инициализирую UIPopoverController и приказываю ему показать себя, используя presentPopoverFromBarButtonItem :mittedArrowDirections: animated :.Для первого аргумента (UIBarButtonItem) я использую self.navigationItem.rightBarButtonItem.Тем не менее, всплывающее окно продолжает отображаться в левой части экрана (а не под целевой кнопкой).
После запуска приложения поведение соответствует ожидаемому.Любые предложения, как решить эту проблему?
Для вашей информации, я инициализирую rightBarButtonItem и назначаю его навигационному элементу в методе viewDidLoad и перед тем, как попросить popover представить себя.Я попытался вызвать popover в viewWillAppear и viewDidLoad, но эффект тот же.
Моя лучшая альтернатива - использовать presentPopoverFromRect: inView: allowArrowDirections: animated: вместо этого и «угадать» положение в зависимости от ориентацииустройства.
Обновление: когда я поворачиваю iPad, поповер переходит в правильное положение.Похоже, что позиция barButtonItem определяется только в последнюю минуту, и после того, как я прошу мой поповер представить себя.