在 UIPageViewController 中使用时的 PageControl backgroundColor
Posted
技术标签:
【中文标题】在 UIPageViewController 中使用时的 PageControl backgroundColor【英文标题】:PageControl backgroundColor when used in UIPageViewController 【发布时间】:2014-01-09 19:25:56 【问题描述】:我正在尝试在 ios7 中使用 UIPageViewController 实现一个简单的教程。我在 UIPageViewControllerDataSource 中实现了所有方法,它给了我一个 UIPageControl。一切正常,除了 pageControl 的背景不透明,因此它阻挡了它后面的其他视图的一部分。
我尝试使用以下代码更改 pageControl 的外观
pageControl.backgroundColor = [UIColor greenColor]; //works, background is green
pageControl.backgroundColor = [UIColor clearColor]; //not working, background is black.
//更新 事实证明,黑色是 PageControl 图层的背景色。而且这个页面控制层不在我自己用于页面的 ViewControllers 之上。它们是并行的。所以无论我如何修改它的颜色,我都无法让我的 ViewControllers 占据全屏。
有没有一种简单的方法可以将 PageControl 移动到我的 ViewController 之上?
【问题讨论】:
【参考方案1】:它可能是父视图的背景。我有类似的情况,背景颜色实际上是我的父控件的背景,而不是我自己的。这是我使用的一个工具,可以帮助我缩小范围:http://www.sparkinspector.com。这是另一个做同样事情的工具:http://revealapp.com。
还有一件事 - 不确定这是否适用于您的情况,但它可能是可能需要其颜色设置的背景层
CALayer *layer = self.layer;
[layer setBackgroundColor:[UIColor clearColor]];
【讨论】:
【参考方案2】:如果您将某些内容设置为清晰的颜色,那么背景颜色将取决于背景上的任何内容,页面控件所在的视图(通常是 uipagecontrol)没有背景,这就是您将其视为的原因黑色。
【讨论】:
以上是关于在 UIPageViewController 中使用时的 PageControl backgroundColor的主要内容,如果未能解决你的问题,请参考以下文章
ViewDidLoad 不断在 UIPageViewController 上被调用
UIPageViewController 背景在 Objective C iOS 中从不透明