我有 UIView 和 UIImageViews、UILabels、UITextView。
我的目标是改变中间部分,使其看起来像折叠一张纸: - 顶部和底部保持不变,只是它们朝彼此滑动 - 中间部分向屏幕折叠 (如 Clear 应用程序中: http://blog.massivehealth.com/post/18563684407/clear?cbe4fc38 )
我的想法是首先加载整个 View ,然后分成 4 部分,将中间两部分制作成 CGImage 并以某种方式用透视动画它们,同时变换顶部和底部部分,这样它们就会向彼此滑动(最后,中间两部分)零件应该变得不可见)。
我还应该能够展开此 View 并滚动 UITextView。
我不是在寻找现成的答案,只是寻找正确解决方案的指针。 我遇到过 CALayer、CABasicAnimation 和 CGImage,但还不知道如何解决这个问题。
最佳答案
我认为你的方法是正确的。由于您无法将转换应用于 View 的一部分,因此您必须将容器 View 拆分为单独的部分。您可以使用CALayer
方法renderInContext:
将 View 渲染为静态图像。然后,您可以将此图像拆分为所需的部分,将图像部分放置在原始 View 上(或用图像替换 View )并对图像进行动画处理。动画完成后,将 View 恢复为新形式。
关于ios - 如何仅在复合 UIView 的一部分应用 3D 透视变换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863295/