如何在 UIPageViewController 中更改页面指示器的背景颜色

Posted

技术标签:

【中文标题】如何在 UIPageViewController 中更改页面指示器的背景颜色【英文标题】:How to change background color of page indicator in UIPageViewController 【发布时间】:2015-10-11 16:22:55 【问题描述】:

我在storyboard中使用了一个UIPageViewController,并写了一个继承自UIPageViewController的类。

我写完代码后发现页面指示器的背景颜色是黑色的,不知道怎么改。

我在网上搜索,发现很多人会使用 UIViewController+UIPageControl 来做自定义页面指示器。

是否可以在 UIPageViewController 中更改背景颜色?

谢谢!

【问题讨论】:

【参考方案1】:

通过添加:

let pageControl = UIPageControl.init(frame: CGRectMake(0, UIScreen.mainScreen().bounds.size.height*14/15, UIScreen.mainScreen().bounds.size.width, UIScreen.mainScreen().bounds.size.height))
pageControl.backgroundColor = UIColor.init(red: 0, green: 147/255, blue: 229/255, alpha: 1)
view.addSubview(pageControl)

我已成功更改颜色。

但我还有一个问题。

虽然我已经将imageView设置为全屏,但是页面控件会覆盖图片的按钮,如何避免页面控件覆盖图片,只显示点?

【讨论】:

既然您已经回答了自己的问题,请相应地标记它。也不要在答案或 cmets 中提出新问题。请创建一个新问题。【参考方案2】:

我为此苦苦挣扎了两个多小时。这是我在 Swift 4 中所做的

    override func viewDidLayoutSubviews() 
    super.viewDidLayoutSubviews()
    for view in self.view.subviews
        if view is UIPageControl
            (view as! UIPageControl).currentPageIndicatorTintColor = .yellow
            
        
    

在此块中拥有 UIPageControl 后,您应该能够自定义其指示器颜色

【讨论】:

以上是关于如何在 UIPageViewController 中更改页面指示器的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIPageViewController 中更改页面指示器的背景颜色

如何在 UIPageviewcontroller 中实现静态菜单栏?

如何在视图中移动 UIPageViewController 页面控制器按钮的位置

如何在 UIPageViewcontroller 中添加两个视图控制器

如何在 UIPageViewController 中的两个 ViewController 之间传递数据

iOS - 如何在 UIPageViewController 中设置 UIScrollView 以在重新启用后开始滚动