2010-07-09 53 views
6

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

+0

您是否曾经弄明白这一点? – 2013-03-06 16:03:29

回答

1

我对此并不十分确定,但我认为你错了CATransition应用于整个屏幕。它适用于您将动画添加到的视图。

这个想法是,你应用过渡到家长您实际上想要转换的视图。所以说你有以下结构。

  • 的UIViewController
    • 视图(UIViewController中的主视图)
      • 视图你转变

你需要做的就是添加一个“在主UIViewController之间持有“或”容器“视图鉴于您的实际针对性的观点,使得它看起来像这样:

  • 的UIViewController
    • 视图(UIViewController中的主视图)
      • “容器” 视图< - 应用在这里过渡
        • 查看你正在转换

应用您过渡到容器视图,你就可以将它夹,如果你想。如果它仍然超出范围,那么请尝试在包含视图上打开clipsToBounds,或者使用图层的mask_Bounds属性

+0

在两个帐户上都正确:您应用过渡的'UIView'必须由超级视图剪辑,使用'clipsToBounds' – SwiftArchitect 2014-12-27 20:48:21