UIAlertController popoverPresentationController 覆盖 sourceView
UIAlertController popoverPresentationController covering sourceView
我正在为 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 时,它应该是整个源视图。所以不应该重叠。
在那里设置一个断点并单步执行并验证一切是否如您所愿。
我正在为 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 时,它应该是整个源视图。所以不应该重叠。
在那里设置一个断点并单步执行并验证一切是否如您所愿。