我用它来呈现popover:
func presentPopoverController(controller: UIViewController, fromView view: UIView) {
controller.modalPresentationStyle = UIModalPresentationStyle.Popover
controller.preferredContentSize = CGSizeMake(400, 400)
let popover = controller.popoverPresentationController
popover?.permittedArrowDirections = .Any
print(view.frame)
popover?.sourceView = view
popover?.sourceRect = view.frame //***
presentViewController(controller, animated: true, completion: nil)
}
这就是它在屏幕上的显示方式:
这是在控制台输出:
(326.0,15.0,63.0,10.0)
如果我删除了***
的行,那么它看起来像是跟随,并且仍然在错误的位置:
控制台上的输出与上述相同。
答案 0 :(得分:0)
应该有popover?.sourceRect = view.bounds
而不是view.frame
。