対象: ピンチイン/ピンチアウトで画像を拡大/縮小iOSでユーザのピンチイン/ピンチアウト操作によって画像を拡大/縮小するために必要な事は概ね以下になる。
まず、ImageViewで表示する画像を用意する。表示したい画像をProject Navigatorにドラッグし、Xcodeで使えるようにする。この作業を行わないとImageViewでこの画像を選択できない。 次に、Main.storyboardにScrollViewを貼り付け、その上にImageViewを貼り付ける。Attributes InspectorでImageViewのImageプロパティをクリックし、先ほど追加した画像を選択する。 また、ImageViewのModeは"Aspect Fit"(画像のアスペクト比を維持しながらImageView内で画像がすべて表示される)にでもしておこう。この例では画面いっぱいにImageViewを貼り付けてある。 コードではViewController.hではUIScrollViewDelegateプロトコル使用を宣言しておく。追加したScrollViewとImageViewのアウトレットも作成しておこう。 #import <UIKit/UIKit.h> @interface ViewController : UIViewController <UIScrollViewDelegate> @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end ViewController.mのviewDidLoadでScrollViewのminimumZoomScaleプロパティとmaximumZoomScaleプロパティを設定し、デリゲートを割り当てる。今回は最小倍率が等倍、最大倍率が3倍とした。最後にImageViewのインスタンスを返すviewForZoomingInScrollViewを追加すれば完成だ。 #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize scrollView; @synthesize imageView; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. scrollView.minimumZoomScale = 1.0; scrollView.maximumZoomScale = 3.0; scrollView.delegate = self; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return self.imageView; } @end (2013/10/08)
Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
[Home]
|