2012-09-21 77 views

回答

2

我已經使用以下代碼來實現這個非常的結果:

CGRect tabFrame = tab.frame; 
CGRect viewFrame = [mainWindow convertRect:tabFrame toView:currentView]; 
tab.frame = viewFrame; 
[tab removeFromSuperview]; 
[currentView addSubview:tab]; 

該代碼轉換tab的從mainWindow幀分成currentView。除了this錯誤之外,此功能完美無缺。如果你沒有遇到這個問題,或者找出解決辦法,我會非常感激。

所有你需要做的從那一點是應用你的正常動畫。

+0

非常感謝它的工作。 –

1

通過將clipsToBounds設置爲NO,使超級視圖不剪輯其內容。

然後,您爲按鈕的框架設置動畫,當動畫完成後,將其從view1中移除並將其添加到view2。

[UIView animateWithDuration:0.2f 
    animations:^{ 
     button.frame = newFrame; 
    } 
    completion:^(BOOL finished){ 
     CGRect rect = [view1 convertRect:button.frame toView:view2]; 
     [button removeFromSuperview]; 
     [button setFrame:rect]; 
     [view2 addSubView:button]; 
    }]; 
+0

看到我們的反應非常相似,在動畫之後移動視圖與BEFORE相比有什麼優勢? –

+0

我不這麼認爲。這對我來說似乎是合乎邏輯的。 – DrummerB

相關問題