2010-11-28 11 views
0

イム:messegeFrameとtableFrameは、このビューの新しいフレームですどのように2つのUIViewを一度にアニメーション化できますか?このコードを使用して

[UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(_shrinkDidEnd:finished:contextInfo:)]; 
    tblSimpleTable.frame = tableFrame; 
    messegeField.frame = messegeFrame; 
    [UIView commitAnimations]; 

。 私はこれがテーブルとmessegeフィールドを一緒に動かすことを望んだが、最初はテーブルが動き、messegeフィールドは動いていた。 一緒に移動させる方法はありますか?

通知は:事は、それらの両方はなく、このコードはOKに見える額面同時刻

+0

このコードは問題ありません。 – Eiko

+0

いいえ、彼らは一緒に動かない –

答えて

1

がアニメーションにタイマーを設定してみてください、私は同時にビューの数十を移動している、これはあなたのコードで注目すべき不在である:

[UIView beginAnimations:nil context:NULL]; 

[UIView setAnimationDuration:0.3]; 

[UIView setAnimationDelegate:self]; 
[UIView setAnimationDidStopSelector:@selector(_shrinkDidEnd:finished:contextInfo:)]; 
tblSimpleTable.frame = tableFrame; 
messegeField.frame = messegeFrame; 
[UIView commitAnimations]; 

私も、私はsetAnimationDidStopSelectorを使用していないではないであろうと、そうであればそれはアニメーションと同じ長さに設定されたNSTimerでアニメーションの最後を呼び出すことができます。

0

でリサイズされていると私は前に一度に複数の1つのオブジェクトを変換するために、このメソッドを使用しているということです。

これらの2つのオブジェクトを移動するだけの場合は、試してみることのできる代替方法があります。UIOBJECT.center - これは間接的にフレームに影響します。または、CGAffineTransformTranslateで過度に使用します。

関連する問題