2012-03-15 6 views
0

成長をアニメーション化私はメインビューを読み込むときに正常です。問題は私がview2をロードし、view2を却下する、私がmainViewに戻ったとき、それはもはやアニメーション化されていない。円は私が繰り返して成長し、フェード、円の画像とUIImageViewのアニメーション化しています

これはなぜ起こっているのですか?

EDITは:メソッドが呼び出されている:ビュー2却下

-(IBAction) fourthBtn:(id)sender 
{ 
    view2 *view2 = [self.storyboard instantiateViewControllerWithIdentifier:@"view2"]; 
    [self presentModalViewController:view2 animated:YES];  
} 

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 

EDIT 2も

-(IBAction) cancel:(id) sender 
{  
    NSLog(@"heir canceled"); 

    [self dismissModalViewControllerAnimated:YES]; 
} 

を、私自身は、アニメーションを停止しません私のコードのどこかで。

+0

おそらく 'viewDidAppear'が呼び出されていませんか?ビュー切り替えコードを表示します。 –

+0

viewDidAppearも呼び出されますか?自分でview2を読み込むときにアニメーションを停止していますか? – Brodie

+0

viewDidAppearが呼び出され、animateOuterCircleが呼び出されます。 – Padin215

答えて

0

コードを再入力しました。

-(void)viewWillDisappear:(BOOL)animated 
{ 
    [self.outerCircle removeFromSuperview]; 
    [self.innerCircle removeFromSuperview]; 
} 

- (void)viewDidAppear:(BOOL)animated 
{ 
    self.innerCircle = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"inner-circle.png"]]; 
    self.innerCircle.frame = CGRectMake(self.innerCircle.frame.origin.x, self.innerCircle.frame.origin.y, 30, 30); 

    self.outerCircle = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"outer-circle.png"]]; 
    self.outerCircle.frame = CGRectMake(self.outerCircle.frame.origin.x, self.outerCircle.frame.origin.y, 40, 40); 

    [self.view insertSubview:self.innerCircle belowSubview:HUD]; 
    [self.view insertSubview:self.outerCircle belowSubview:HUD]; 

//other code 
} 

これらの変更で、それも私が望むように動作します。

これは、最初のviewDidAppearから既にアニメーション化されていたouterCircleをもう一度アニメーション化しようとしていたと思います。また、viewDidAppearがもう一度呼び出されたときに、既にアニメーション化されている画像を再アニメーションし、完全に)。

0

私の推測では、viewDidAppearが呼び出されていないというのは、そのビューの観点からは決して消えないからです。

view2をどのように作成して表示するかによって、これを閉じるときにview2内で動作しますか?

[parentViewController viewDidAppear:YES]; 
+0

viewDidAppearが呼び出されていて、私のアニメーションメソッドが呼び出されています。アニメーションをやっていないだけです。 – Padin215

+0

あなたはどのように表示してview2を却下しているか私達に教えていただけますか? – Brodie

+0

Out of curiosity - outerCircleの色を変更して、まだ参照されているかどうかを確認してください。もしそうでなければ、おそらくそれは正しく保持/参照されていないでしょう。どうやって外の円を作りますか? – Brodie

関連する問題