Непонятное поведение от UIPopoverController - PullRequest
0 голосов
/ 25 июля 2011

Я пытаюсь настроить всплывающее окно, которое отображает UIDatePicker при нажатии кнопки, однако я получаю очень запутанное поведение. Я создал контроллер представления, который содержал только UIDatePicker, подключил его к классу, в котором он мне нужен, и добавил его в новый UIPopoverController, например:

self.timePickerPopoverController = [[UIPopoverController alloc] initWithContentViewController:self.timePickerViewController];

тогда я представляю это так:

[timePickerPopoverController presentPopoverFromRect:prepTimeButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

(prepTimeButton - кнопка, которая была нажата). Однако я просто получаю следующий результат:

Broken UIPopoverController

Вместо того, чтобы отображаться рядом с кнопкой, которая была нажата, и с целевым размером (сейчас он слишком высокий; должен быть только размер указателя даты). Я также попытался дать ему собственное представление о правильном расположении и размере для отображения, но это не сильно помогло (просто сместил поповер в правую половину экрана). Что я делаю не так и как мне это исправить?

Ответы [ 2 ]

1 голос
/ 25 июля 2011

Является ли self.view прямым супервизором prepTimeButton? Возможно, prepTimeButton вложено в подпредставление, в этом случае вам необходимо использовать его в качестве параметра inView: (или преобразовать координаты).

Вы установили свойство contentSizeForViewInPopover вашего контроллера представления?

0 голосов
/ 02 марта 2012

Обязательно установите оба параметра contentSizeForViewInPopover на внутреннем контроллере вида и popoverContentSize на самом UIPopoverController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...