2011-05-05 74 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