如何设置背景视图的颜色UIPageViewController
?是否可以在情节提要中做到这一点?
5 回答
编辑:我认为问题是关于 UIPageControl。
您应该能够简单地修改 UIPageViewController 视图的颜色:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blueColor]; //Set to any color.
}
在 UIPageViewController 的视图中,您可以使用以下代码:
override func viewDidLoad() {
super.viewDidLoad()
// Set backbround color to white
self.view.backgroundColor = UIColor.white
}
我已将颜色设置为白色,但您几乎可以插入任何您想要的颜色。
干杯!
在这种情况下,您需要更改 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()
是的,您可以更改背景颜色,但它似乎没有在 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 ......
要更改背景颜色,请使用UIPageControl
并将backgroundColor
属性分配给所需的UIColor
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.backgroundColor = [UIColor orangeColor];