12

如何设置背景视图的颜色UIPageViewController?是否可以在情节提要中做到这一点?

在此处输入图像描述

4

5 回答 5

26

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

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

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor blueColor]; //Set to any color.
}
于 2015-08-03T23:00:44.217 回答
5

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

override func viewDidLoad() {
    super.viewDidLoad()

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

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

干杯!

于 2018-02-12T13:53:37.693 回答
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()
于 2015-08-03T23:23:06.517 回答
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];
    }

ps 很抱歉,因为我还没有迁移到 Swift ......

于 2015-08-04T00:01:43.583 回答
0

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

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

于 2016-11-15T10:46:09.067 回答