我正在设置UIAlertController
的属性,如下所示:
alertController.modalPresentationStyle = .popover
alertController.popoverPresentationController?.sourceView = sourceView
alertController.popoverPresentationController?.sourceRect = sourceView.bounds
在iPad上显示此alertController
时,会按预期显示弹出框,弹出框箭头的尖端正好位于sourceView
的中心。然而,这掩盖了我的sourceView
的部分内容。我能做些什么让内容不被覆盖吗?例如,如果箭头指向下方,则箭头尖端将位于sourceView
的顶部。如果箭头指向上,则箭头尖端将位于我的sourceView
的底部。我可以操纵sourceRect
,但我不能提前知道箭头的方向。
箭头应指向sourceRect相对于sourceView的外部。当您将sourceView.bounds作为sourceRect时,它应该是整个源视图。所以不应该重叠。
在那里设置一个断点,然后逐步检查并验证一切是否如您所愿。