从页面视图控制器指示器

时间:2016-02-19 00:11:19

标签: ios swift uipageviewcontroller

是否可以从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()

UPADATE 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)

2 个答案:

答案 0 :(得分:1)

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

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

进行更改

答案 1 :(得分:0)

@matt帮助我得到了这个答案,但是对于今后读这篇文章的人来说,在我的问题中从屏幕截图的顶部和底部删除白色有同样的问题,所有你需要做的就是,设置main.storyboard和您使用的ViewController中的'default'视图颜色,使用以下内容更改颜色:

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

希望这有帮助!