UIPageControl - How to make the background transparent?

后端 未结 8 2679
無奈伤痛
無奈伤痛 2021-02-18 21:30

I am using UIPageControl and trying to make the background transparent.

UIPageControl *pageControl = [UIPageControl appearance];
pageControl.pageInd         


        
8条回答
  •  再見小時候
    2021-02-18 22:23

    Here is the answer with extension of Juan Ariza

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
    
        let subViews: NSArray = view.subviews
        var scrollView: UIScrollView? = nil
        var pageControl: UIPageControl? = nil
    
        for view in subViews {
            if view.isKindOfClass(UIScrollView) {
                scrollView = view as? UIScrollView
            }
            else if view.isKindOfClass(UIPageControl) {
                pageControl = view as? UIPageControl
                pageControl?.pageIndicatorTintColor = UIColor.lightGrayColor()
                pageControl?.currentPageIndicatorTintColor = UIColor.blackColor()
                pageControl?.backgroundColor = UIColor.clearColor()
            }
        }
    
        if (scrollView != nil && pageControl != nil) {
            scrollView?.frame = view.bounds
            view.bringSubviewToFront(pageControl!)
        }
    }
    

提交回复
热议问题