CATransition如何剪辑到UIView的界限?

TOV*_*VVV 7 iphone animation uiview catransition

我正在使用CATransition来滑动UIView的子视图.但问题是CATransition总是出现在整个屏幕上.它看起来像一团糟,因为我在窗口中有另一个UI元素,在转换时会重叠.如何通过UIView框架限制过渡帧?我试图将我的UIView的clipToBounds设置为YES.实际上它并没有帮助.

Dhi*_*pta 1

我对此并不是百分百确定,但我认为您对 CATransition 应用于整个屏幕的看法是错误的。它适用于您添加动画的视图。

这个想法是,您将过渡应用到您实际想要过渡的视图的父级。假设您有以下结构。

  • UI视图控制器
    • 视图(UIViewController 的主视图)
      • 查看您正在转变的情况

您需要做的是在主 UIViewController 视图和实际目标视图之间添加一个“持有”或“容器”视图,如下所示:

  • UI视图控制器
    • 视图(UIViewController 的主视图)
      • “容器”视图 <-- 在此处应用转换
        • 查看您正在转变的情况

将过渡应用到容器视图,如果需要,您就可以剪辑它。如果仍然超出范围,请尝试打开包含视图上的 ClipsToBounds 或图层的 maskToBounds 属性