当我在UIPopoverPresentationController中显示一些视图并将其显示为弹出窗口时
popoverCon?.modalPresentationStyle = UIModalPresentationStyle.popover
Run Code Online (Sandbox Code Playgroud)
内容已向上移动,并且箭头中显示了一部分。
此外,我在弹窗周围有边界
popoverCon?.view.layer.borderColor = .orange
popoverCon?.view.layer.borderWidth = 1.0;
popoverCon?.view.layer.cornerRadius = 10.0;
popoverCon?.view.layer.masksToBounds = false;
Run Code Online (Sandbox Code Playgroud)
它没有朝着箭头所在的部分显示,但在箭头的尖端显示了少许边界线。
在iOS 12之前,它一直工作良好,但在iOS 13中,此问题即将出现。
关于如何解决这个问题有什么建议吗?
我显示的弹出窗口现在显示不正确。箭头一侧缺少一条线。我们可以检查箭头的末端是否有一块黑色。我认为里面的视图太长了。
显示弹出窗口的代码:
_popoverController = UIPopoverController(contentViewController: navController)
_popoverController?.delegate = self
let rect = slotCollectionView.cellForItem(at: indexPath)!.frame
self._popoverController?.backgroundColor = UIColor.init(rgb: Int(quaternaryColorHexa))
self._popoverController?.present (from: rect, in: self.slotCollectionView, permittedArrowDirections: UIPopoverArrowDirection.any, animated: true)
Run Code Online (Sandbox Code Playgroud)
初始化Popover的代码:
override func viewDidLoad()
{
super.viewDidLoad()
self.preferredContentSize = contentSize()
self.navigationController!.preferredContentSize = self.preferredContentSize;
peopleTableView.isScrollEnabled = true
peopleTableView.bounces = true
peopleTableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
peopleTableView.tableFooterView?.isHidden = true
peopleTableView.backgroundColor = UIColor.init(rgb: Int(quinquenaryColorHexa))
self.view.backgroundColor = UIColor.init(rgb: Int(quinquenaryColorHexa))
self.view.layer.cornerRadius = 13.0
self.view.layer.borderWidth = 1.5
self.view.layer.borderColor = UIColor.init(rgb: Int(quaternaryColorHexa)).cgColor
Run Code Online (Sandbox Code Playgroud)