簡體   English   中英

Popover視圖控制器的角半徑

[英]Corner radius for Popover view controller

我想更改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
    }
}

我正在展示如下的視圖控制器

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: {
            })
        }

它總是顯示圓角。

任何幫助表示贊賞。

截至目前,尚無支持的方法來使帶有圓角的Popover視圖控制器成為可能。 UIPopoverController的工作方式是將視圖添加到帶有圓角且可裁剪到邊界的視圖中。

有兩種解決方法:

  1. 等待顯示popover控制器,然后遍歷其父級,並將“ radius”設置為0,將邊界裁剪為“ false”。 這有點hacky,它可能與過去和將來的所有iOS版本都不兼容。 我不建議這樣做。
  2. 創建自己的類,該類模仿與UIPopoverController相同的功能。 這是解決問題的最佳方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM