2012-02-02 59 views
0

在我的應用程序中,當我使用UIView動畫切換視圖的動畫時,它在第一次切換視圖時正常工作,因爲視圖正確地滑入到位並且一切正常。但如果我切換回原始視圖,然後返回到新視圖,它不顯示任何內容,視圖是黑色的,但我知道我的方法正在調用。切換視圖時視圖不會顯示第二次?

我的代碼在下面,但沒有人看到任何錯誤?

-(void)changeView2ToView3 { 
    [view2.view.superview addSubview:view3.view]; 
    [view3.view setFrame:CGRectMake(0, kHeight, kWidth, kHeight)]; 
    [UIView animateWithDuration:0.75 
        animations:^{ 
         [view3.view setFrame:CGRectMake(0, 0, kWidth, kHeight)]; 
        } 
        completion:^(BOOL finished){ 
         [view2.view removeFromSuperview]; 
        }]; 
} 

kHeight和kWidth是屏幕的高度和寬度,它們不是0或零。

謝謝!

回答

0

第一次以後,view2.view的超級視圖必須爲零。所以你必須設置一個變量來保存超級視圖。

[view2.view removeFromSuperview]; 
// now view2.view.superview == nil; 
+0

你能告訴我如何正確設置超級視圖爲伊娃嗎?然後我會接受和投票你的答案! – 2012-02-02 12:17:16

+0

順便說一句,這不是零,我只是用NSLogs證明! – 2012-02-03 04:55:38