12

I am trying to present a UIViewController in an UIPopoverPresentationController but I dont really like the arrow feature.

Basically what I want to do is to use an UIPopoverPresentationController without the arrow that comes with it.

I am coding in Swift.

Santo
  • 1,611
  • 3
  • 17
  • 37
meteorSD
  • 339
  • 3
  • 16

1 Answers1

25

This is what I tackled just a few days back. What I did was basically remove the arrow and provided a source rect myself. The source, of course, had its Y position altered to give it a popover effect without the arrow. Try it, worked like a charm for me.

yourPopoverPresentationController!.permittedArrowDirections = UIPopoverArrowDirection.init(rawValue: 0)
let aView = //Source View that you would provide for the source rect
yourPopoverPresentationController!.sourceView = aView
let position = CGRectMake(aView.bounds.origin.x, aView.bounds.origin.y + 125, aView.bounds.size.width, aView.bounds.size.height)
yourPopoverPresentationController!.sourceRect = position

This resulted in the following effect which was what I required. enter image description here

mshrestha
  • 788
  • 5
  • 14