UIPopovercontroller отделен от UIButton - PullRequest
       30

UIPopovercontroller отделен от UIButton

4 голосов
/ 09 февраля 2011

У меня проблема с отсоединенным контроллером UIPopover, и я надеюсь, что кто-то видел такое поведение раньше.

Мое приложение работает в ландшафтном режиме и предлагает несколько всплывающих элементов с помощью вызова presentPopoverFromRect.Некоторые из них запускаются из вида сверху, а другие - из вида, скрытого глубоко на дисплее.Похоже, что всплывающие окна работают нормально, если всплывающее окно представлено с верхних 2/3 экрана iPad, однако при попытке запуска всплывающего окна с нижней трети экрана всплывающее окно отображается отдельно от кнопки UIB.Координата x представляется правильной, однако координата y всплывающего окна, как правило, находится в середине или верхней части экрана iPad.

Я поиграл с представлением всплывающего окна, используя фиксированную позицию, создав объект CGRect в нижней трети экрана, но когда iPad отображает всплывающее окно, он либо отображает всплывающее окно в верхнем 2 /.3-й вид или в самом низу экрана (если я увеличу значение CGRect до значения y).

На данный момент у меня нет идей, и я надеюсь, что кто-то на форуме видел это илиможет сделать предложения о том, что попробовать.

Спасибо за любую помощь, Уэс

1 Ответ

3 голосов
/ 10 февраля 2011

Я смог исправить свою проблему и подумал, что поделюсь своим решением, если у кого-то есть такая же проблема.

Решением было добавить вызов для установки размера всплывающего окна ДО вызова presentPopoverFromRect.

[mySettingsPopoverController setPopoverContentSize:CGSizeMake(320, 320) animated:YES];
[mySettingsPopoverController presentPopoverFromRect:sender.frame inView:self.navigationButtonsView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

Раньше я не устанавливал размер контента для поповера до его появления.В методе viewDidAppear viewcontroller для поповера я изменял размер поповера до размера таблицы в поповере.Очевидно, не устанавливая popovercontentsize перед представлением popover, вы получаете неопределенное поведение, в том числе возможность отсоединения popover от элемента, к которому предполагается его присоединить.

Wes

...