簡體   English   中英

如何使PageviewController的背景透明

[英]How to make for Pageviewcontroller background transparent

如何使Pageviewcontroller背景透明,我在這里嘗試使其透明

  super.viewDidLoad()

    self.pageviewcontroller = self.storyboard?.instantiateViewController(withIdentifier: "PageViewController") as! UIPageViewController
    self.pageviewcontroller.dataSource = self
    self.pageviewcontroller.delegate = self
    var pageControl = UIPageControl()
    pageControl = UIPageControl.appearance()
    pageControl.backgroundColor = .clear
    pageControl.pageIndicatorTintColor = .gray
    pageControl.currentPageIndicatorTintColor = UIColor(red: 0.00, green: 1.0, blue: 1.0, alpha: 1.0)
   pageControl.backgroundColor = UIColor.clear

    ViewControllers.append(
        UIStoryboard(name: "Main", bundle: nil) .
            instantiateViewController(withIdentifier: "DashboardViewController") as! BaseViewController)




    ViewControllers.append(
        UIStoryboard(name: "Main", bundle: nil) .
            instantiateViewController(withIdentifier: "qwertyViewController") as! BaseViewController)
    if let firstViewController = ViewControllers.first {

試圖使該控制器透明

添加pagecontrol之后

我已經測試了以下代碼,並且可以正常工作

這是我的控制器類:

class PageViewController: UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate {

在該類中,我創建了此變量:

lazy var pageArra: [UIViewController] = {
       return[self.VCInstance("ONE"),self.VCInstance("TWO"),self.VCInstance("THREE"),self.VCInstance("FOUR")]
    }()

使用此功能獲取情節提要資產。 我給了4個ViewControllers上面列出的ID

private func VCInstance(_ name: String) -> UIViewController {
        return UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: name)
    }

這是我的viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()
    dataSource = self
    delegate = self
    var pageControl = UIPageControl()
    pageControl = UIPageControl.appearance()
    pageControl.pageIndicatorTintColor = .gray
    pageControl.currentPageIndicatorTintColor = UIColor(red: 0.00, green: 1.0, blue: 1.0, alpha: 1.0)
}

這就是我如何在加載時清除它

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    if view is UIScrollView {
            view.frame = UIScreen.main.bounds
        } else if view is UIPageControl {
            view.backgroundColor = .clear
        }
}

加上所有數據源並委托必需的方法

暫無
暫無

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

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