UIPageViewController 背景在 Objective C iOS 中从不透明



我希望UIPageViewController的背景是透明的,这样我可以看到UIPageViewController后面的图像,根据UIPageViewController的滚动永远不会移动。

我尝试了很多东西,包括[UIColor clearcolor]但它不会显示UIPageViewController背后的内容。

尝试以下解决方案:

您需要清除页面视图连接器的项目背景颜色的颜色

解决方案 1

通过UIPageViewController的数据源方法清除颜色。

UIPageViewControllerDataSource

-(UIViewController *)viewControllerAtIndex:(NSUInteger)index
{
PageViewController *itemPage = arrViewControllers[index];
itemPage.view.backgroundColor = [UIColor clearColor];
return itemPage;
}

解决方案 2

为页面视图控制器数组创建数组时。

for (int i = 0; i < 5; i++) {
PageItemViewController *pageItemController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageItemViewController"];
pageItemController.view.backgroundColor = [UIColor clearColor];

[arrViewControllers addObject:pageItemController];
}

将此self.modalPresentationStyle = UIModalPresentationCustom;放在您从 PageViewController 和每个子视图控制器继承的 ViewController 中,并使每个子 ViewController 的背景颜色清晰。

最新更新