我正在動畫化的UIImageView與增長和衰落一個圓,重複的圖像:動畫一圈成長
-(void)animateOuterCircle
{
NSLog(@"animating circles");
[UIView animateWithDuration:1.5
delay:.5
options:(UIViewAnimationOptionAllowUserInteraction)
animations:^{
self.outerCircle.transform=CGAffineTransformMakeScale(.25, .25);
}
completion:nil];
[UIView animateWithDuration:1.5
delay:.5
options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAllowUserInteraction)
animations:^{
self.outerCircle.transform=CGAffineTransformMakeScale(1.5, 1.5);
self.outerCircle.alpha = 0;
}
completion:nil];
[self.view bringSubviewToFront:self.outerCircle];
}
我調用viewDidAppear這個方法:
- (void)viewDidAppear:(BOOL)animated
{
[self performSelectorOnMainThread:@selector(animateOuterCircle) withObject:nil waitUntilDone:NO];
//other code
}
它將動畫很好,當我加載mainView。問題是我加載view2並關閉view2,當我回到mainView,它不再是動畫。
任何想法爲什麼會發生這種情況?
編輯:方法被稱爲:
2012-03-15 14:11:13.946[1529:17903] view2 canceled //dismissing view2
2012-03-15 14:11:13.947[1529:17903] mapView viewWillAppear fired
2012-03-15 14:11:13.948[1529:17903] mapView viewWillAppear end
2012-03-15 14:11:14.352[1529:17903] mapView viewDidAppear fired
2012-03-15 14:11:14.353[1529:17903] animating circles
2012-03-15 14:11:14.354[1529:17903] mapView viewDidAppear end
編輯2:
-(IBAction) fourthBtn:(id)sender
{
view2 *view2 = [self.storyboard instantiateViewControllerWithIdentifier:@"view2"];
[self presentModalViewController:view2 animated:YES];
}
駁回觀點2:
-(IBAction) cancel:(id) sender
{
NSLog(@"heir canceled");
[self dismissModalViewControllerAnimated:YES];
}
另外,我不停止自己的動畫在我的代碼中的任何一點。
也許'viewDidAppear'沒有被調用?顯示視圖切換代碼。 – 2012-03-15 17:49:48
viewDidAppear甚至被稱爲?你自己加載view2時是否停止動畫? – Brodie 2012-03-15 17:50:53
viewDidAppear確實被調用,animateOuterCircle確實被調用。 – Padin215 2012-03-15 19:12:32