我正在制作一个弹出式演示视图控制器,我需要在其中使用多个箭头方向(up
和down
)。为了拥有多个permittedArrowDirections
,我在 Swift 的 UIPopoverController 上遵循了 Set Multiple Arrow Directions。我还调整了弹出框的背景颜色,使箭头与背景调光视图融为一体。
问题是,对于几乎所有情况,我都需要使用 ,UIPopoverArrowDirection.up
但对于源视图正下方没有足够空间的情况,只有UIPopoverArrowDirection.down
应该使用 。但我找不到弄清楚。代码片段是:
let presentationController = .....
presentationController.sourceView = sourceView
presentationController.sourceRect = sourceView.bounds
// changing the array order doesn't help
presentationController.permittedArrowDirections = [.up, .down]
presentationController.backgroundColor = UIColor(white: 0, alpha: 0)
self.present(controller, animated: true)
如果有人需要跟进,可以在这里找到我尝试过的演示的源代码。