2011-05-05 73 views
2

我正在研究在視圖中向用戶提出問題的iPad應用程序。當他們回答這個問題時,我希望該觀點轉向另一個包含下一個問題的觀點。爲了使它看起來都很花哨,我試圖向它添加一個curl轉換,但是我寫的代碼不起作用,我看不出找到問題。它確實顯示了正確的視圖,但沒有過渡動畫。那是什麼?這裏是我用來轉換的方法:翻轉視圖動畫無法正常工作

- (void)pageChangedTo:(NSInteger)page { 

    if ((page == currentQuestionNumber) || (page > ([self.allQuestions count] - 1)) || (page < 0)) { 
     return; 
    } 

    AskQuestionView *view = [self.questionViews objectAtIndex:page]; 

    UIViewAnimationTransition transition; 
    if (page > currentQuestionNumber) { 
     transition = UIViewAnimationTransitionCurlUp; 
    } 
    else { 
     transition = UIViewAnimationTransitionCurlDown; 
    } 

    if (self.containerView1.superview) { 

     self.containerView2 = view; 
     [UIView beginAnimations:nil context:nil]; 
     [UIView setAnimationDuration:1.0]; 
     [UIView setAnimationTransition:transition forView:self.containerView1 cache:YES]; 
     [self.containerView1 removeFromSuperview]; 
     [askQuestionsView addSubview:self.containerView2]; 
     [UIView commitAnimations]; 
    } 
    else { 
     self.containerView1 = view; 
     [UIView beginAnimations:nil context:nil]; 
     [UIView setAnimationDuration:1.0]; 
     [UIView setAnimationTransition:transition forView:self.containerView2 cache:YES]; 
     [self.containerView2 removeFromSuperview]; 
     [askQuestionsView addSubview:self.containerView1]; 
     [UIView commitAnimations]; 
    } 

    currentQuestionNumber = page; 
} 

有誰能告訴我爲什麼這不起作用嗎?我非常感謝!

回答

0

設置您的動畫轉換爲視圖:_ 容器 _self.containerView2:不是被刪除的那個,而是被刪除的那個。

+0

就是這樣!謝謝!這總是很明顯的! – Vic320 2011-05-05 21:04:21

+0

顯然,像現實一樣,很大程度上依賴於上下文。很高興它的工作。 – Rayfleck 2011-05-05 22:09:19