Reputation: 4595
I am asked to removed the arrow of the popover view.
Upvotes: 10
Views: 14622
Reputation: 36
Just to add some sugar and Swifty the code :
Extension:
extension UIPopoverArrowDirection {
static var none: UIPopoverArrowDirection { UIPopoverArrowDirection(rawValue: 0) }
}
Usage:
popoverMenuViewController?.permittedArrowDirections = .none
you can change the variable's name to fits your needs.
Upvotes: 1
Reputation: 4737
myViewController.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0)
Upvotes: 1
Reputation: 1117
For Swift
popoverMenuViewController?.permittedArrowDirections = UIPopoverArrowDirection(rawValue:0)
Upvotes: 23
Reputation: 196
The omission or removal of the arrow is implicitly banned by the 2012-03-07 Human Interface Guidelines, p. 114: "A popover ... always displays an arrow that indicates the point from which it emerged."
Upvotes: 3
Reputation: 218
Sure thing, and there is plenty of call for this, specifically when the popover is large enough and the point at where the arrow would point would be obscured.
There's no usability drawback whatsoever.
[pop presentPopoverFromBarButtonItem:_toolbarBtnImage2
permittedArrowDirections:0 // <- pass in zero for no arrows
animated:YES];
Upvotes: 10
Reputation: 104145
Hiding the popover arrow or showing one popover inside another does not sound very wise. I’m not sure if this is explicitly forbidden by the HIG, but it’s a usability drawback anyway. If you insisted you could draw your own arrowless popover or try to mask the arrow using some view composed on the top of it. I think it would be much better to rethink the UI.
Upvotes: 1