7

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

4

1 回答 1

1

我不是真的 100% 确定这一点,但我认为你对 CATransition 应用于整个屏幕是错误的。它适用于您将动画添加到的视图。

这个想法是您将转换应用到您实际想要转换的视图的父级。所以说你有以下结构。

  • UIViewController
    • 视图(UIViewController 的主视图)
      • 查看您正在过渡

你需要做的是在主 UIViewController 视图和你的实际目标视图之间添加一个“holding”或“container”视图,如下所示:

  • UIViewController
    • 视图(UIViewController 的主视图)
      • “容器”视图 <-- 在此处应用转换
        • 查看您正在过渡

将您的过渡应用到容器视图,如果需要,您将能够对其进行剪辑。如果仍然超出范围,请尝试打开包含视图上的 clipsToBounds 或图层的 maskToBounds 属性

于 2013-03-08T09:27:42.737 回答