2010-07-09 56 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