UIScrollView - 拡大縮小

2010年7月7日水曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

[前回] Cocoaの日々: UIScrollView - フリックで画像(ページ)をめくる

今回は画像の拡大縮小を行って見る。やるべきことはプロパティとデリゲートの設定。

(1)プロパティ設定


拡大縮小可能なスケール(倍率)を設定する。
self.scrollView.minimumZoomScale = 0.1  // 1/10まで縮小可能
self.scrollView.maximumZoomScale = 10.0;  // 10倍まで拡大可能

倍率は Interface Builder でも設定が可能。


(2) UIScrollViewDelegate


デリゲートを実装し、拡大縮小対象のビューを viewForZoomingInScrollView: で指定する。
@interface ScrollViewStudy2ViewController :
   UIViewController <UIScrollViewDelegate> {

 UIScrollView* scrollView_;
}

今回は1枚のビューを使っているので subviews の最初の要素を返すだけ。
-(UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
 return [[scrollView subviews] objectAtIndex:0];
}

実装したら delegateプロパティを設定するか、Interface Buidlerで delegateの接続を行っておく。

実行してみよう。まず元画像はこれ。

拡大は問題なし。

縮小は..

ああ、ビューが一枚だから全体が縮小されてしまった。ページ単位で拡大縮小するにはビューを画像ごとに分ける必要があるのか。


参考情報

UIScrollViewDelegate Protocol Reference
プロトコルのリファレンス


その他


(メモ)iPhoneシミュレータでのピンチ操作は Optionキーを押しながらマウスを動かす。


 

Responses

Leave a Response

人気の投稿(過去 30日間)