gpt4 book ai didi

ios - Popover View Controller 的角半径

转载 作者:行者123 更新时间:2023-11-29 05:35:10 27 4
gpt4 key购买 nike

我想更改 Popoverview 的圆角半径。

下面是我的代码。

class PopOverViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}

override func viewWillLayoutSubviews() {
super.viewDidLayoutSubviews()
self.view.superview?.layer.cornerRadius = 0.0
self.view.superview?.layer.masksToBounds = true
}
}

我正在展示如下所示的 View Controller

if let popoverPresentationController = popOverViewController.popoverPresentationController {
popoverPresentationController.permittedArrowDirections = .down
popoverPresentationController.sourceView = tabBar
popoverPresentationController.sourceRect = rect
popoverPresentationController.delegate = self
popoverPresentationController.canOverlapSourceViewRect = false
popOverViewController.preferredContentSize = CGSize(width: 341, height: 68)
self.present(popOverViewController, animated: true, completion: {
})
}

它始终显示圆角。

感谢任何帮助。

最佳答案

截至目前,尚不支持使用具有非圆角的弹出 View Controller 。 UIPopoverController 的工作方式是将您的 View 添加到具有圆角并剪裁到边界的 View 中。

有两种方法可以解决这个问题:

  1. 等待弹出窗口 Controller 显示,然后遍历其父级并将半径设置为 0,并将剪辑边界设置为 false。这是一种 hacky,它可能不兼容过去和 future 的所有 iOS 版本。我不推荐这样做。
  2. 创建您自己的类,模仿与 UIPopoverController 相同的功能。这是解决您的问题的最佳方法。

关于ios - Popover View Controller 的角半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57103974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com