在ScrollView中使用pinch实现图片的缩放
2014-10-20 10:17
585 查看
唉,为了使用pinch实现图片缩放在网上爬了两天,结果发现ScrollView类中就有一个pinchGestureRecognizer的属性:@property(nonatomic,
readonly)
UIPinchGestureRecognizer *pinchGestureRecognizer
所以只要将imageView放到ScrollView中,再经过一些基本设置,就可以使用pinch对图片进行缩放了!!
基本设置包括:
1.Scroll View的属性minimumZoomScale和maximumZoomScale,指明可缩放的程度
2.Scroll view需遵守UIScrollViewDelegate协议,并实现viewForZoomingInScrollView:方法,该方法返回要被缩放的视图
难怪苹果的官方文档中会这么写:A
scroll view may need to zoom in response to touch events, such as double taps or other tap gestures, or in response to another user action other than a pinch gesture.看的时候还觉得挺奇怪:怎么把pinch专门列出来。。。
一个最简单的实现例子:
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImage *image = [UIImage imageNamed:@"flower.png"];
self.imageView.image = image;
[self.imageView sizeToFit];//sizeToFit:调整reciver的size以适应子视图
self.scrollView.contentSize = image.size;
self.scrollView.delegate = self;
self.scrollView.minimumZoomScale = 1.0;
self.scrollView.maximumZoomScale = 10.0;
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imageView;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
readonly)
UIPinchGestureRecognizer *pinchGestureRecognizer
所以只要将imageView放到ScrollView中,再经过一些基本设置,就可以使用pinch对图片进行缩放了!!
基本设置包括:
1.Scroll View的属性minimumZoomScale和maximumZoomScale,指明可缩放的程度
2.Scroll view需遵守UIScrollViewDelegate协议,并实现viewForZoomingInScrollView:方法,该方法返回要被缩放的视图
难怪苹果的官方文档中会这么写:A
scroll view may need to zoom in response to touch events, such as double taps or other tap gestures, or in response to another user action other than a pinch gesture.看的时候还觉得挺奇怪:怎么把pinch专门列出来。。。
一个最简单的实现例子:
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImage *image = [UIImage imageNamed:@"flower.png"];
self.imageView.image = image;
[self.imageView sizeToFit];//sizeToFit:调整reciver的size以适应子视图
self.scrollView.contentSize = image.size;
self.scrollView.delegate = self;
self.scrollView.minimumZoomScale = 1.0;
self.scrollView.maximumZoomScale = 10.0;
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imageView;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
相关文章推荐
- 使用JSR234实现对图片的缩放
- Asp.net Mvc中使用uploadify实现图片缩放保存
- 安卓控件使用系列16:ImageView实现图片缩放和旋转
- 使用libjpeg库实现jpeg图片的缩放(缩略图)
- fresco如何配合PhotoView使用实现图片缩放
- 使用jquery实现图片等比例缩放
- 使用WPF Resource以及Transform等技术实现鼠标控制图片缩放和移动的效果
- 使用Thumbnailtor实现图片的裁剪,缩放
- 29-scrollView代理的使用(包括通过代理实现缩放)
- iOS——使用ScrollView进行图片的缩放
- directshow中使用StretchDIBits和AlphaBlend实现ARGB32图片的无损缩放
- php使用imagick模块实现图片缩放、裁剪、压缩示例
- Android使用PhotoView实现图片缩放功能
- iOS应用开发中使用UIScrollView控件来实现图片缩放
- 使用WPF Resource以及Transform等技术实现鼠标控制图片缩放和移动的效果
- 使用jquery实现图片等比例缩放
- Hybrid开发 Sencha pinch事件的监听实现图片的缩放功能
- php使用imagick模块实现图片缩放、裁剪、压缩示例
- 使用libjpeg库实现jpeg图片的缩放(缩略图)
- PHP图片处理之使用imagecopyresampled函数实现图片缩放例子