我正在像这样设置UIAlertController
的属性:
alertController.modalPresentationStyle = .popover
alertController.popoverPresentationController?.sourceView = sourceView
alertController.popoverPresentationController?.sourceRect = sourceView.bounds
在iPad上呈现此alertController
会显示预期的弹出窗口,并且弹出窗口的尖端位于预期的sourceView
的正中央。但是,这掩盖了我的sourceView
的部分内容。我有什么办法可以避免内容被覆盖?例如,如果箭头指向下方,则箭头笔尖将位于我的sourceView
的顶部。并且,如果箭头指向上方,则箭头笔尖将位于我的sourceView
的底部。我可以操纵sourceRect
,但是我无法提前知道箭头的方向。
答案 0 :(得分:2)
相对于sourceView,箭头应该指向sourceRect的外部。当将sourceView.bounds用作sourceRect时,应为整个源视图。因此不应重叠。
在此处设置一个断点,逐步检查并验证一切是否符合您的预期。