2011年11月25日金曜日

UIScrollViewでピンチズーム・ピンチアウト

先日作ったカメラの起動と写真のアプリに今回はUIScrollViewを使ってピンチズームとピンチアウトの実装を行います。

(1)Scroll Viewを貼付ける
右下の赤枠部分から「Scroll View」を選択し、画面上にドラッグします。
(Library から Objects > Cocoa Touch > Data Views にあります)

(2)関連付けをする
アシスタントエディターに画面を切り替えて「Scroll View」を選択、Controlを押しながら右のソースファイル(ViewController.h)へとドラッグします。
名前は「aScrollView」とし、接続を行います。

(3)Scroll View のサブビューに Image View をセットする
IB上で操作する場合はまずドキュメントアウトラインを表示してImage View を Scroll View の子になるようにドラッグします。
プログラムでこれを実装する場合は、以下のようなかんじ(かなり抜粋してます)
- (void)viewDidLoad {
    [super viewDidLoad];

    [aScrollView addSubview: aImageView];  // ここ
}

(4)ピンチズーム・ピンチアウトを実装する
ピンチズーム等を実装する場合はデリゲートメソッドを実装する必要があります。
まず「ViewController.h」を開き修正を行います。
@interface ViewController : UIViewController
<
    UIScrollViewDelegate
>

次に「ViewController.m」を開きズームの設定や実装を行います。
- (void)viewDidLoad {
    [super viewDidLoad];

    // 以下
    [aScrollView setMinimumZoomScale: 0.5];
    [aScrollView setMaximumZoomScale: 5.5];
    [aScrollView setContentSize: CGSizeMake(320, 416)];
    [aScrollView setDelegate: self];
}
// ズームイベントの実装
- (UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return aImageView;
}

これでピンチズーム・ピンチアウトの実装は完了です。
ぜひ、試してみてください。
(途中、ViewやImageのサイズがずれる場合があるので適宜修正をしてください)




0 件のコメント:

コメントを投稿