UIScrollViewの使い方(拡大縮小編)

このエントリーを含むはてなブックマークはてなブックマーク - UIScrollViewの使い方(拡大縮小編)

前回のプログラムUIScrollViewの使い方(スクロール編2)までで、UIScrollViewを使って画像をスクロールするところまで出来るようになりました。

次は、画像の拡大縮小機能を実装してみます。まずはヘッダファイル内でUIScrollViewDelegateプロトコルに準拠します。
三角カッコで囲まれたところが、その部分です。

プロトコルに準拠って何?って方はこちら。
Objective-Cのプロトコル

SampleViewController.h

@interface ScrollViewController : UIViewController
<UIScrollViewDelegate>
{
	IBOutlet UIScrollView *scrollView;
	UIImageView *imageView;
}

SampleViewController.h

- (void)viewDidLoad {
	[super viewDidLoad];

	imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"test.jpg"]];
	[scrollView addSubview:imageView];
	[imageView release];
	
	scrollView.contentSize = imageView.frame.size;
	scrollView.delegate = self; 
	scrollView.minimumZoomScale = 0.5;
	scrollView.maximumZoomScale = 4.0;
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)_scrollView 
{
	return imageView;
}

viewDidLoad関数内でscrollViewのデリゲートを
自分のクラス(sampleViewController)に設定しておきます。

また、minimumZoomScaleとmaximumZoomScaleで、拡大縮小のリミット値を設定しています。あとは、デリゲート関数viewForZoomingInScrollViewで、拡大縮小したいViewを返せば完成です。

さっきからデリゲート、デリゲートって言っとるけど
デリゲートって何やねん!ぉらぉらって人はこちら
Objective-Cのデリゲート

ここまで記述できたら、コンパイル&実行してみましょう。

UIScrollView7

画面上でピンチイン、ピンチアウトすると、それにしたがって画像が拡大縮小します。
うまくいかなかった場合にはデリゲートが適切に設定されているか、
もう一度確かめてみてください。

このプログラムをココに置いておきます。
参考にしてみてください。
scroll2.zip

次回は拡大縮小と座標の対応について説明します
UIScrollViewの使い方(座標表示編)

3 Responses to “UIScrollViewの使い方(拡大縮小編)”

  1. [...] コンテンツへ移動 ホーム紹介 ← UIScrollViewの使い方(拡大縮小編) UIScrollViewの使い方(2本指でスクロール編) [...]

  2. [...] iPhoneアプリと、そのプログラム iPhoneアプリを作る際に役立つプログラムを置いています コンテンツへ移動 ホーム紹介 ← UIScrollViewの使い方(スクロール編1) UIScrollViewの使い方(拡大縮小編) → [...]

  3. public relations definition より:

    public relations definition…

    [...]UIScrollViewの使い方(拡大縮小編)[...]…

Leave a Reply

You must be logged in to post a comment.