hIDDEN bLOG » 2010 » 4月 » 14

2010/4/14 水曜日

MonoTouchでビューのアニメーション

このエントリをはてなブックマークに追加
Filed under: .NET,iPhoneアプリ,MonoTouch — @ 16:42:41

今回はUIViewのアニメーション機能を使ってみる。

前回のプロジェクトに、UIImageViewへのアウトレット接続と、アニメーションのトリガーを与えるためのボタン配置・アクションの記述までを行う。
アウトレット名をimageView、アクション名をAnimationTouchedとしておく。
mt04-01.png

mt04-02.png
mt04-03.png

続いてアニメーションのコードを記述。
AnimationTouchedメソッドを実装するのだが、ここはMonoDevelopのコード補完機能を使うのが吉。冒頭の「partial(スペース)」までをタイプした時点で候補がドロップダウン表示されるので、適切に選んでEnter。
mt04-04.png

1
2
3
4
5
6
7
8
9
10
11
using System.Drawing;       
 
partial void AnimationTouched( UIButton button ) 
{ 
    UIView.BeginAnimations( "" ); 
    UIView.SetAnimationDuration( 1 );               
 
    this.imageView.Frame = new RectangleF( 100, 400, 50, 30 );               
 
    UIView.CommitAnimations(); 
}

上記のコードをタイプして実行。
(RectangleFの名前空間が見えていない可能性があるので、その場合はソース冒頭にusingの追加を。)
ボタンをタップすると、画像がずわっと下のほうへ縮むはず。
mt04-05.png

UIView.BeginAnimations()からUIView.CommitAnimations()までに記述した内容を、アニメーションする。
内部で記述しているのはたった2項目。
UIView.SetAnimationDuration()でアニメーションを行う時間、この場合は1秒間に指定する。
動かしたい対象はimageView。それのFrame属性をコードの通り設定している。
これにより、imageViewは現在位置から指定された位置まで、1秒間かけてスムーズにアニメーションしてくれる。

非常に簡単にアニメーションできてしまった。

HTML convert time: 0.717 sec. Powered by WordPress