首页 > 解决方案 > iOS 13 - UIPopoverPresentationController sourceview 内容在箭头中可见

问题描述

当我在 UIPopoverPresentationController 中显示一些视图并将其呈现为弹出框时

popoverCon?.modalPresentationStyle = UIModalPresentationStyle.popover

内容已向上移动,并且箭头中显示了某个部分。

在此处输入图像描述

此外,我在弹出框周围有边框

popoverCon?.view.layer.borderColor = .orange
popoverCon?.view.layer.borderWidth = 1.0;
popoverCon?.view.layer.cornerRadius = 10.0;
popoverCon?.view.layer.masksToBounds = false;

它没有向箭头所在的部分显示,但它在箭头的尖端显示了一点边界线。

在此处输入图像描述

这在 iOS 12 之前工作正常,但在 iOS 13 中,这个问题即将到来。

关于如何解决这个问题的任何建议?

标签: popoverios13uipopoverpresentationcontroller

解决方案


我的 tableView 内容的顶部被箭头切断。这就是我在我的情况下修复它的方式(代码插入到我的 tableViewController Swift 文件中):

override func viewSafeAreaInsetsDidChange() {
    if #available(iOS 11.0, *) {
        super.viewSafeAreaInsetsDidChange()
        self.tableView.contentInset = UIEdgeInsets(top: self.tableView.safeAreaInsets.top, left: 0, bottom: 0, right: 0)
    }
}

推荐阅读