我正在尝试解除带有页面卷曲的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];
}
希望有人可以帮忙!干杯尼克
答案 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];
如果要更改外观 过渡期间的观点 例如,从一个视图翻转到 另一个 - 然后使用容器视图,一个 UIView的实例,如下:
- 开始动画块。
- 设置 容器视图上的转换。
- 从容器中删除子视图 图。
- 将新的子视图添加到 容器视图。
- 提交动画 块。
使用这种方法是 在iOS 4.0及更高版本中气馁。您 应该使用基于块的动画 方法改为。