UIPopoverPresentationController :多个 permittedArrowDirections 顺序优先级

UIPopoverPresentationController : multiple permittedArrowDirections order priority

使用UIPopoverPresentationController 在弹出窗口中显示视图控制器,您可以定义permittedArrowDirections 属性 来限制弹出窗口定位的可能性。我们可以使用 | 运算符定义多个方向:

presentationController.permittedArrowDirections = UIPopoverArrowDirectionDown|UIPopoverArrowDirectionUp;

我知道控制器会根据可用 space 自动选择这些方向之一。

但是否可以定义顺序优先级? 那样:如果两个方向都有足够的 space AB,使用A优先。

我试过颠倒UIPopoverArrowDirectionDownUIPopoverArrowDirectionUp的顺序,但似乎总是优先UIPopoverArrowDirectionDown

有人有实现此目标的想法吗?

我不这么认为,permittedArrowDirections 是一个 OptionSet,它是一个 bitmask。我会建议您进行一些数学计算,以计算是否有足够的 space 显示在顶部并基于此传递一个值。