2012-03-27 11 views
1

私は単純なUIViewアニメーションブロックを持っています。ブロックでは、私はビューのアルファを変更するだけですが、ビューのフレームもアニメーション化されています! WTF?ご覧のとおりUIViewアニメーションより多くのプロパティをアニメ化しました

UIButton *button = [flowerViews objectAtIndex:index]; 
UIImageView *newGlowView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"grid_glow.png"]]; 
newGlowView.frame = CGRectMake(0, 0, 130, 130); 
newGlowView.center = button.center; 
newGlowView.alpha = 0.0; 
[scrollView_ addSubview:newGlowView]; 
[scrollView_ sendSubviewToBack:newGlowView]; 
[UIView animateWithDuration:0.3 animations:^{ 
    newGlowView.alpha = 1.0; 
}]; 

、私は新しいビューを作成し、scrollView_にそれを追加している:

は、ここに私のコードです。私はscrollView_にそれを追加する前にビューの位置とアルファを設定しています。それが追加されると、ビューのアルファを0から1にアニメーション化するアニメーションブロックがあります。

ビューの位置もアニメーション化されています。フェードインすると、CGRectZeroの元のフレームから割り当てられたフレームにアニメーション化されているかのように見えます。

外見上、アニメーションブロック内で設定されたプロパティのみアニメーション化する必要があります。これはバグですか?何か不足していますか?

ありがとうございます!

+0

アニメーションブロックから、またはオートローテーションビューコントローラデリゲートメソッドのようなアニメーションブロック内にあるイベント内で、すべてが呼び出されていますか? – mattjgalloway

+0

はい、そうです。私はそれを受け入れることができるように答えとして投稿できますか?私はちょうど私自身(duh)をこれを考え出した – CharlieMezak

+0

完了!あなたがそれを解決してうれしい。 – mattjgalloway

答えて

1

アニメーションブロックから呼び出されているか、またはオートローテーションビューコントローラデリゲートメソッドのようなアニメーションブロック内にあるイベント内にある可能性があります。

+0

これはそれです!私の質問のコードを含むメソッドは、通常、アニメーションブロックから呼び出されませんが、この場合はそれでした。愚かな私。時間の閾値に達するとすぐにあなたの答えを受け入れます。 – CharlieMezak

関連する問題