OGeek|极客世界-中国程序员成长平台

标题: ios - 如何仅在复合 UIView 的一部分应用 3d 透视变换? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 14:00
标题: ios - 如何仅在复合 UIView 的一部分应用 3d 透视变换?

我有 UIView 和 UIImageViews、UILabels、UITextView。

我的目标是改变中间部分,使它看起来像折叠一张纸: - 顶部和底部保持不变,只是它们相互滑动 - 中间部分向屏幕折叠 (如在清除应用程序中:http://blog.massivehealth.com/post/18563684407/clear?cbe4fc38)

我的想法是首先加载整个 View ,然后分成 4 个部分,将中间两部分制作成 CGImage 并以某种方式用透视动画它们,同时转换顶部和底部部分,因此它们彼此滑动(最后,中间两部分部分应该变得不可见)。

我也应该能够展开这个 View 并滚动 UITextView。

我不是在寻找一个现成的答案,只是指向正确解决方案的指针。 我遇到过CALayer、CABasicAnimation和CGImage,但不知道如何解决。



Best Answer-推荐答案


我认为你的方法是合理的。由于您无法将转换应用于 View 的一部分,因此您必须将容器 View 拆分为单独的部分。您可以使用 CALayer 方法 renderInContext: 将 View 渲染为静态图像。然后,您可以将此图像拆分为您需要的部分,将图像部分放在原始 View 上(或用图像替换 View )并对图像进行动画处理。动画完成后,以新形式恢复 View 。

关于ios - 如何仅在复合 UIView 的一部分应用 3d 透视变换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863295/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4