我正在尝试更改UIPageViewController阴影颜色,同时进行翻转动画。但它总是只显示白色。如何将反面背景颜色白色更改为其他颜色(黑色或sephia)。iBook也在做同样的事情。
我提到,下面的图像有白色的bg,我会改变颜色。
截图:

发布于 2013-03-23 04:23:42
我试着做同样的事情已经有一段时间了,我终于弄明白了。原来您不能将背景颜色设置为其他颜色,但您可以提供UIPageViewController将添加到背面的另一个视图。这就是这里的秘密。
来自Apple的文档:
Spine location Double sided What to pass
UIPageViewControllerSpineLocationMid YES Left and Right Page.
SpineLocationMin or SpineLocationMax YES Front and Back of the page.
SpineLocationMin or SpineLocationMax NO Front page only.因此,基本上,您需要将double sided属性设置为yes,并在两个数据源方法上提供两个viewControllers:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController;
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController;对于您添加的每个新页面,每个方法都将被调用两次。因此,您需要提供通常会返回的viewController,以及在执行翻页动画时将添加到背面的新viewController。
这取决于你的"BackViewController“会有什么。您可以简单地使用黑色视图,或者如果您愿意,您可以截取首页的屏幕截图,并从中获取镜像图像。
一旦你理解了它的工作原理,这就不难了。我在这里看到的唯一问题是,当您添加黑色视图或任何具有黑色背景的内容时,翻页时的阴影将变为白色。我不知道为什么,但我已经在许多不同的应用程序上看到了这种情况,所以我猜对苹果来说,这是正常的行为。但它看起来真的很奇怪。
编辑:
我已经添加了一个示例代码,因此它更容易理解。https://github.com/mattabras/DoubleSidedPageViewController
Abras
https://stackoverflow.com/questions/12381773
复制相似问题