如何为UIPageViewController设置背景颜色?

时间:2015-08-03 22:47:59

标签: ios storyboard uipageviewcontroller xcode7-beta4

如何在UIPageViewController中为背景视图设置颜色?是否可以在Storyboard中执行此操作?

enter image description here

5 个答案:

答案 0 :(得分:23)

编辑:我认为问题是关于UIPageControl。

您应该能够简单地修改UIPageViewController视图的颜色:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor blueColor]; //Set to any color.
}

答案 1 :(得分:4)

在这种情况下,您需要更改UIPageViewCotroller的UIPageControl。

试试这个。

UIPageControl* proxy = [UIPageControl appearanceWhenContainedIn:[self.pageViewController class], nil];
[proxy setPageIndicatorTintColor:[UIColor lightGrayColor]];
[proxy setCurrentPageIndicatorTintColor:[UIColor blackColor]];
[proxy setBackgroundColor:[UIColor whiteColor]];

如果你的项目是由swift编写的,试试这个。

let proxy: UIPageControl = UIPageControl.appearanceWhenContainedInInstancesOfClasses(self.pageViewController.self)
proxy.pageIndicatorTintColor = UIColor.lightGrayColor()
proxy.currentPageIndicatorTintColor = UIColor.blackColor()
proxy.backgroundColor = UIColor.whiteColor()

答案 2 :(得分:3)

在UIPageViewController的视图中,您可以使用以下代码:

override func viewDidLoad() {
    super.viewDidLoad()

    // Set backbround color to white
    self.view.backgroundColor = UIColor.white
}

我已将颜色设置为白色,但您可以插入任何您想要的颜色。

干杯!

答案 3 :(得分:0)

是的,您可以更改背景颜色,但它似乎不会在Interface Builder中公开。

遵循在IB中设置页面视图控制器的禁止方法,您需要:
1.将UIContainerView添加到视图控制器
2.将UIPageViewController添加到故事板中 3.将UIViewContainer中的Embed segue添加到UIPageViewController(带有标识符myPageViewController)

从原始视图控制器中,将其添加到prepareForSegue方法:

    if ([segueName isEqualToString: @"myPageViewController"]) {
        /* _pageViewController is a property where I keep a reference to the embedded controller */
        if (_pageViewController == nil) {
            /* only do this once */
            _pageViewController = (WePageViewController*)[segue destinationViewController];
            _pageViewController.dataSource = ...;
            _pageViewController.delegate = ...;
            _pageViewController.view.backgroundColor = [UIColor purpleColor];
    }

P.S。道歉,因为我还没有搬到斯威夫特......

答案 4 :(得分:0)

要更改背景颜色,请使用UIPageControl并将backgroundColor属性分配给所需的UIColor

UIPageControl *pageControl = [UIPageControl appearance]; pageControl.backgroundColor = [UIColor orangeColor];