如何为 UIPageViewController 设置背景颜色?
How to set background color for UIPageViewController?
如何在UIPageViewController
中设置背景视图的颜色?是否可以在 Storyboard 中执行此操作?
编辑:我以为问题是关于 UIPageControl 的。
您应该能够简单地修改 UIPageViewController 视图的颜色:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blueColor]; //Set to any color.
}
在这种情况下,您需要更改 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到storyboard
3. 添加一个从 UIViewContainer 到 UIPageViewController 的 Embed segue(标识符为 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。抱歉,我还没有搬到 Swift...
要更改背景颜色,请使用 UIPageControl
并将 backgroundColor
属性 分配给所需的 UIColor
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.backgroundColor = [UIColor orangeColor];
在UIPageViewController的视图中,你可以使用这段代码:
override func viewDidLoad() {
super.viewDidLoad()
// Set backbround color to white
self.view.backgroundColor = UIColor.white
}
我已将颜色设置为白色,但您几乎可以插入任何您想要的颜色。
干杯!
如何在UIPageViewController
中设置背景视图的颜色?是否可以在 Storyboard 中执行此操作?
编辑:我以为问题是关于 UIPageControl 的。
您应该能够简单地修改 UIPageViewController 视图的颜色:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blueColor]; //Set to any color.
}
在这种情况下,您需要更改 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到storyboard
3. 添加一个从 UIViewContainer 到 UIPageViewController 的 Embed segue(标识符为 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。抱歉,我还没有搬到 Swift...
要更改背景颜色,请使用 UIPageControl
并将 backgroundColor
属性 分配给所需的 UIColor
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.backgroundColor = [UIColor orangeColor];
在UIPageViewController的视图中,你可以使用这段代码:
override func viewDidLoad() {
super.viewDidLoad()
// Set backbround color to white
self.view.backgroundColor = UIColor.white
}
我已将颜色设置为白色,但您几乎可以插入任何您想要的颜色。
干杯!