我有一个奇怪的问题。
我有基于导航的应用程序与两个UIViewControllers和卷曲效果之间的过渡。
我加入栏按钮,并添加自定义操作:
-(IBAction)pushPage
{
NSLog(@"push page");
SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[UIView beginAnimations:@"animation" context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO];
[self.navigationController pushViewController:secondView animated:NO];
[UIView commitAnimations];
[secondView release];
}
在SecondView我有一个动作的按钮:
-(IBAction)back
{
[imageAnimationIssueAppDelegate backPage];
}
方法backPage
中的AppDelegate:
-(void)backPage
{
NSLog(@"backPage");
[UIView beginAnimations:@"animation" context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO];
[self.navigationController popToRootViewControllerAnimated:NO];
[UIView commitAnimations];
}
问题: 在RootView上我有UIImageView
ani mation:
- (void)viewDidLoad
{
[super viewDidLoad];
animImage.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
[UIImage imageNamed:@"4.png"],
[UIImage imageNamed:@"3.png"],
[UIImage imageNamed:@"2.png"],
nil];
animImage.animationDuration = 0.5;
animImage.animationRepeatCount = 0;
}
我viewDidAppear
启动:
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"First view - viewDidAppear");
[super viewDidAppear:animated];
[animImage startAnimating];
}
我阻止它在viewDidDisapear
:
- (void)viewDidDisappear:(BOOL)animated
{
NSLog(@"First view - viewDidDisappear");
[super viewDidDisappear:animated];
[animImage stopAnimating];
}
当我回来从SecondView动画采空!但[animImage isAnimating]
说YES
! 它不会启动更新屏幕 - 您可以点击底部的按钮并看到它!
这是错误吗?
动画没有自定义转换。
当我为推视或弹出视图设置animated:YES
时,动画在视图之间自定义转换时起作用。
为什么? 是否有更新显示视图以启动动画的简单方法?
我认为这是错误的答案。我试过 - 什么都没有。 – 2011-06-09 11:01:28