UIPageViewController 背景在 Objective C iOS 中从不透明
Posted
技术标签:
【中文标题】UIPageViewController 背景在 Objective C iOS 中从不透明【英文标题】:UIPageViewController background never transparent in Objective C iOS 【发布时间】:2017-07-21 06:47:17 【问题描述】:我想让UIPageViewController
的背景透明,这样我就可以看到UIPageViewController
后面的图像,它永远不会随着UIPageViewController
的滚动而移动。
我尝试了很多东西,包括[UIColor clearcolor]
,但它不会显示UIPageViewController
背后的内容。
【问题讨论】:
在您的 pageviewcontroller 中添加这一行 viewdidload self.pageViewController.view.backgroundColor = [UIColor clearColor]; 已经在 viewDidLoad 和 viewDidAppear 中尝试过。它不工作。 显示视图层次结构 【参考方案1】:试试这些解决方案:
需要清除PageViewContoller的item背景颜色
解决方案 1
通过 UIPageViewController 的 dataSource 方法清除颜色。
UIPageViewControllerDataSource
-(UIViewController *)viewControllerAtIndex:(NSUInteger)index
PageViewController *itemPage = arrViewControllers[index];
itemPage.view.backgroundColor = [UIColor clearColor];
return itemPage;
解决方案 2
在为 pageviewcontroller 数组创建数组时。
for (int i = 0; i < 5; i++)
PageItemViewController *pageItemController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageItemViewController"];
pageItemController.view.backgroundColor = [UIColor clearColor];
[arrViewControllers addObject:pageItemController];
【讨论】:
非常感谢。像魅力一样工作。它拯救了我的一天。 @DanielJames 欢迎。能帮助你是我的荣幸。享受编码:)【参考方案2】:把这个self.modalPresentationStyle = UIModalPresentationCustom;
放在你从PageViewController和每个子viewController继承的ViewController中,并清除每个的backgroundColor。
【讨论】:
以上是关于UIPageViewController 背景在 Objective C iOS 中从不透明的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIPageViewController 中更改页面指示器的背景颜色
UIPageViewController 中控制器后面的黑色背景
UIPageViewController 将先前的 ViewController 保持在视图的背景上
UIPageViewController 和 UIPageControl 透明背景颜色 - iOS