使用页面卷曲关闭modalviewcontroller

时间:2010-02-27 20:09:23

标签: iphone curl model-view-controller

我正在尝试解除带有页面卷曲的modalviewcontroller。 curl工作正常,但我似乎无法在modalviewcontroller下显示tableview。 modalviewcontroller的图像仍然在卷曲的页面下。如果我在动画结束前关闭modalviewcontoller,则动画不会显示。这是我的代码:

//hide splash screen
- (void)hideSplash{
 [UIView beginAnimations:nil context:nil];
 //change to set the time
 [UIView setAnimationDuration:2];
 [UIView setAnimationBeginsFromCurrentState:YES];
 [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:modelView cache:NO];
 // do your view swapping here

 //[[self modalViewController] dismissModalViewControllerAnimated:NO];

 [UIView commitAnimations];
//[self.view  sendSubviewToBack:self.view]; 

}

希望有人可以帮忙!干杯尼克

2 个答案:

答案 0 :(得分:4)

在iOS4中:

要呈现,它就像:

[containerView addSubview:modelView];
[UIView transitionWithView:containerView
                  duration:.75
                   UIViewAnimationOptionTransitionCurlUp
                animations:^{}
                completion:^(BOOL finished) {
                    NSLog(@"finished %d", finished);
                }];

要解雇,请使用UIViewAnimationOptionTransitionCurlDown

答案 1 :(得分:3)

你的setAnimationTransition:不应该是forView:modelView;它应该是parentView。

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:containerView cache:NO];

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html

  

如果要更改外观   过渡期间的观点   例如,从一个视图翻转到   另一个 - 然后使用容器视图,一个   UIView的实例,如下:

     
      
  • 开始动画块。
  •   
  • 设置   容器视图上的转换。
  •   
  • 从容器中删除子视图   图。
  •   
  • 将新的子视图添加到   容器视图。
  •   
  • 提交动画   块。
  •   
     

使用这种方法是   在iOS 4.0及更高版本中气馁。您   应该使用基于块的动画   方法改为。