2012-08-27 93 views
2

我想重複一個現有的UIView及其所有的子視圖。重複的視圖將被用作動畫的一部分,之後將不再需要。創建一個UIView的臨時副本

我注意到UIView沒有實現copyWithZone。有沒有簡單的方法來創建基於現有視圖的視圖?或者我需要使用提供給原始視圖的參數手動設置視圖?

或者,創建視圖的圖像並將其用於我的動畫會更好嗎?

回答

4

您確定需要整個視圖層次嗎?你可以使用 - [CALayer renderInContext:]將視圖渲染成圖像並使用它嗎?

+0

我現在在玩renderInContext。一個直接的問題是動畫是由正在複製的視圖內的按鈕觸發的。因此,該圖像是在按下按鈕的狀態下拍攝的。我會考慮解決這個問題。如果可以的話,我想用你的建議。 –

+0

我在等待一個答案http://stackoverflow.com/questions/12149687/waiting-for-uibutton-to-revert-to-uicontrolstatenormal –

+0

一種方法是創建一個圖像的視圖之前,該按鈕是然後按住它直到你需要它。 – pho0