Как установить UIBarButtonItem как якорь popover в IOS?

Я показываю контроллер popover в своем приложении IPad:

[self.programMapPopOver presentPopoverFromRect:anchor.frame
                        inView:anchor.superview
                        permittedArrowDirections:UIPopoverArrowDirectionAny 
                        animated:YES];

Моя проблема связана с якорем: я хотел бы установить UIBarButtonItem * в качестве своего якоря, но это не UIView *, но inView - это параметр вида *.

Как я могу это решить?

Спасибо всем!

Ответ 2

В 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)