从页面视图控制器指示器中删除白色背景

Remove white background from page view controller indicator

是否可以去除 UIPageViewController 指示器的白色背景?这是我在下面使用的代码。下面的代码片段来自 AppDelegate 脚本。

let pageControl = UIPageControl.appearance()
pageControl.pageIndicatorTintColor = UIColor.lightGrayColor()
pageControl.currentPageIndicatorTintColor = UIColor.blackColor()
//pageControl.backgroundColor = UIColor.whiteColor()

如您所见,我已注释掉 pageControler.backgroundColor = ... 行以查看它是否会更改但不会。我在 Xcode 中使用 Swift。这是一个屏幕截图,向您展示我的意思:

更新: 我看过这个类似的问题(UIPageControl - How to make the background transparent?),但这并没有解决问题。我在 AppDelegate 中使用了以下代码,但没有成功。这是使用的代码:

pageControl.backgroundColor = UIColor.clearColor()

更新 2: 这是 viewDidLoad().

中使用的代码
    self.pageViewController.setViewControllers(viewControllers as? [UIViewController], direction: .Forward, animated: true, completion: nil)

    self.pageViewController.view.frame = CGRectMake(0, 30, self.view.frame.width, self.view.frame.size.height - 60)

    self.addChildViewController(self.pageViewController)
    self.view.addSubview(self.pageViewController.view)
    self.pageViewController.didMoveToParentViewController(self)

让我们专注于视图 顶部 的白色。你是说:

self.pageViewController.view.frame = CGRectMake(0, 30, self.view.frame.width, self.view.frame.size.height - 60)

所以对于数字 30,您自己在顶部留下了一个空隙:self.pageViewController.view.frameself.view 的顶部向下 30 像素开始。因此我们看到 self.view 的颜色显示在间隙中。如果您不喜欢该颜色,请通过更改 self.view.backgroundColor.

来更改它

@matt 帮助我得到了这个答案,但是对于将来阅读这篇文章的任何人来说,如果遇到同样的问题要从我的问题中的屏幕截图的顶部和底部去除白色,你需要做的就是,在 main.storyboard 中将视图颜色设置为 'default',在您使用的 ViewController 中,使用如下方式更改颜色:

view.backgroundColor = UIColor(red: 0.3, green: 0.5, blue: 0.7, alpha: 100)

希望对您有所帮助!