Ответ 1
Вам нужно использовать presentPopoverFromBarButtonItem:permittedArrowDirections:animated:
.
Я показываю контроллер popover в своем приложении IPad:
[self.programMapPopOver presentPopoverFromRect:anchor.frame
inView:anchor.superview
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
Моя проблема связана с якорем: я хотел бы установить UIBarButtonItem * в качестве своего якоря, но это не UIView *, но inView - это параметр вида *.
Как я могу это решить?
Спасибо всем!
Вам нужно использовать presentPopoverFromBarButtonItem:permittedArrowDirections:animated:
.
В iOS 8 и 9 метод presentPopoverFromBarButtonItem:permittedArrowDirections:animated:
устарел. Вам нужно установить свойство barButtonItem
в свойстве диспетчера представлений popoverPresentationController
.
let popover = UIViewController()
popover.modalPresentationStyle = .Popover
if let presentation = popover.popoverPresentationController {
presentation.barButtonItem = navigationItem.rightBarButtonItem
}
presentViewController(popover, animated: true, completion: nil)