【问题标题】:UIPageViewController background never transparent in Objective C iOSUIPageViewController 背景在 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 中尝试过。它不工作。
  • 显示视图层次结构

标签: ios objective-c iphone xcode ipad


【解决方案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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 2013-06-09
    • 2011-12-15
    相关资源
    最近更新 更多