首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将阴影背景白色更改为其他颜色

如何将阴影背景白色更改为其他颜色
EN

Stack Overflow用户
提问于 2012-09-12 13:34:58
回答 3查看 3.3K关注 0票数 9

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

我提到,下面的图像有白色的bg,我会改变颜色。

截图:

EN

Stack Overflow用户

发布于 2013-03-23 04:23:42

我试着做同样的事情已经有一段时间了,我终于弄明白了。原来您不能将背景颜色设置为其他颜色,但您可以提供UIPageViewController将添加到背面的另一个视图。这就是这里的秘密。

来自Apple的文档:

代码语言:javascript
运行
复制
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:

代码语言:javascript
运行
复制
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController;
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController;

对于您添加的每个新页面,每个方法都将被调用两次。因此,您需要提供通常会返回的viewController,以及在执行翻页动画时将添加到背面的新viewController。

这取决于你的"BackViewController“会有什么。您可以简单地使用黑色视图,或者如果您愿意,您可以截取首页的屏幕截图,并从中获取镜像图像。

一旦你理解了它的工作原理,这就不难了。我在这里看到的唯一问题是,当您添加黑色视图或任何具有黑色背景的内容时,翻页时的阴影将变为白色。我不知道为什么,但我已经在许多不同的应用程序上看到了这种情况,所以我猜对苹果来说,这是正常的行为。但它看起来真的很奇怪。

编辑:

我已经添加了一个示例代码,因此它更容易理解。https://github.com/mattabras/DoubleSidedPageViewController

Abras

票数 10
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12381773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档