|
|||||
|
対象: ピンチイン/ピンチアウトで画像を拡大/縮小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]
|
|||||