I am using the new popOverPresentationController
to present UIPopOverController
in iOS 8.
I set the popOverLayoutMargins
with a value like
It works on iOS 13 now.
I guess the arrow point origin maybe follow this expressions
let xRatio = (permittedArrowDirections is horizonal) ? 1/2 : 1
let yRatio = (permittedArrowDirections is vertical) ? 1/2 : 1
x = sourceRect.origin.x + sourceRect.size.width * xRatio + popoverLayoutMargins.left
y = sourceRect.origin.y + sourceRect.size.height * yRatio + popoverLayoutMargins.top
It is an Apple bug which has not yet been fixed. References to the bug can be found in this example code and on the Apple developer forums.
There is currently no clear workaround for this issue. A bug report with ID 18392444 has been filed with Apple.