質問する前にもっと読むべきでした...
[UIView setAnimationDuration] は、Begin/Commit メソッドを使用する場合にのみ機能し、アニメーションの開始とコミットの呼び出しの間、およびビューのアニメーション化可能なプロパティを変更する前に呼び出す必要があります。
iOS 4 以降のアプリケーションでは、アニメーションにブロック ベースの方法を使用する必要があります。ブロックメソッドを呼び出すときに期間が設定されます。iOS 用 View プログラミング ガイドのアニメーション セクションを参照してください。
アプリケーションを iOS 3.2 以前で実行する場合は、Begin/Commit メソッドを使用する必要があります。
私の場合、Begin/Commit メソッドを使用しました...
[UIView beginAnimations:@"whatIfToolBar" context:whatIfToolBar];
[UIView setAnimationDuration:0.5];
whatIfToolBar.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,0.0, - whatIfToolBar.frame.size.height);
[UIView commitAnimations];
ブロックベースのメソッドを使用すると、次のようになります...
[UIView animateWithDuration:0.5
animations:^{
whatIfToolBar.transform = CGAffineTransformTranslate(CGAffineTransformIdentity,0.0, -whatIfToolBar.frame.size.height);
}
];
ジョン