我有一个视图控制器在应用程序启动时显示一些图像,但我不知道如何在循环完成后告诉它转到TableViewController ......
这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
launchAnimation.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"Animation1.png"],
[UIImage imageNamed:@"Animation2.png"],
nil];
[launchAnimation setAnimationRepeatCount:1];
launchAnimation.animationDuration = 10;
[launchAnimation startAnimating];
how to go to a TableViewController? ??????
}
感谢。
答案 0 :(得分:0)
首先,您过早地运行此代码。 viewDidLoad
表示您的视图甚至还没在界面中!在开始设置动画之前以及在考虑导航到其他视图之前,让视图有机会进入界面。
其次,我们来定义问题。是否要进行此动画并然后导航?然后,您需要在导航前延迟10秒(因为这是动画需要多长时间)。所以你可以使用延迟性能来做到这一点。
或者,使用Core Animation或者观看动画,而不是UIImageView动画,因为它们会在完成动画时给你一个回调(而UIImageView动画,正如我认为你已经意识到的那样,没有)。
答案 1 :(得分:0)
这很简单..
NSArray *arrImages=[NSArray arrayWithObjects: [UIImage imageNamed:@"Animation1.png"], [UIImage imageNamed:@"Animation2.png"], nil];
[launchAnimation setAnimationImages:arrImages];
float animationDuration=10.0f;
int repeatCount=1;
int totalImages=[arrImages count];
[launchAnimation setAnimationRepeatCount:repeatCount];
[launchAnimation setAnimationDuration:animationDuration];
[launchAnimation startAnimating];
float delayTime= animationDuration* repeatCount* totalImages;
[self performSelector:@selector(gotoTableViewController) withObject:Nil afterDelay: delayTime];
-(void)gotoTableViewController
{
//push TableViewController Here
}