
正文
UIScrollView缩放图片操作
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
要想ScrollView缩放,必须告诉缩放那个控件,它自身的大小是不会缩放的;
并且ScrollView只能缩放自己内部的子控件;
1:这时就要用到代理,代理告诉ScrollView缩放哪个控件。(设置代理对象)
2:要想成为ScrollView的代理就要遵守协议:UIScrollViewDelegate (遵守协议)
3:成为代理后实现协议里的方法;viewForZoomingInScrollView;这个方法是返回要缩放的子控件,就是代理告诉ScrollView哪个控件要缩放
或者说这个方法返回的控件就可以缩放;
4:设置缩放的比例
代码示例:
#import "CXBViewController.h" @interface CXBViewController () <UIScrollViewDelegate>
{
UIImageView *_imageView;
}
@end @implementation CXBViewController - (void)viewDidLoad
{
[super viewDidLoad];
// 当设置scrollView为全屏时,直接用self.view.bounds
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:scroll];
// 设置UIImageView,UIImageView的初始化用initWithImage,那么UIImageView的大小和图片的一样
UIImage *image = [UIImage imageNamed:@"minion"];
_imageView = [[UIImageView alloc] initWithImage:image];
[scroll addSubview:_imageView];
scroll.contentSize = image.size;
// 设置代理
scroll.delegate = self;
// 设置最大缩放比例
scroll.maximumZoomScale = 2.0;
// 设置最小缩放比例
scroll.minimumZoomScale = 0.2;
} #pragma mark 这个方法返回的控件就能够进行缩放操作
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return _imageView;
}
@end







