我在我的iPad应用程序中显示一个弹出控制器:
[self.programMapPopOver presentPopoverFromRect:anchor.frame
inView:anchor.superview
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
我的问题是锚:我想设置一个UIBarButtonItem *作为它的锚点,但它不是UIView *,但是inView是一个view *参数。
我该如何解决这个问题?
感谢大家!
答案 0 :(得分:46)
在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)
答案 1 :(得分:23)