如何编程实现UIScrollView的放大缩小

 我来答
匿名用户
推荐于2016-11-05
展开全部
MJViewController.h

#import <UIKit/UIKit.h>

@interface MJViewController : UIViewController

@end
2
MJViewController.m

#import "MJViewController.h"

@interface MJViewController () <UIScrollViewDelegate>
{
UIImageView *_imageView;
}
@end

@implementation MJViewController

- (void)viewDidLoad
{
[super viewDidLoad];

// 1.添加UIScrollView
UIScrollView *scrollView = [[UIScrollView alloc] init];
// scrollView.frame = CGRectMake(0, 0, 320, 460);
scrollView.frame = self.view.bounds;
[self.view addSubview:scrollView];

// 2.添加图片
UIImage *image = [UIImage imageNamed:@"big.jpg"];
// 调用initWithImage:方法创建出来的UIImageView,它的宽高默认跟图片的宽高一样
_imageView = [[UIImageView alloc] initWithImage:image];
// // 设置图片
// imageView.image = [UIImage imageNamed:@"big.jpg"];
//
// // 设置frame
// imageView.frame = CGRectMake(0, 0, imageView.image.size.width, imageView.image.size.height);
[scrollView addSubview:_imageView];

// 设置内容范围
scrollView.contentSize = image.size;

// 设置scrollview的代理对象
scrollView.delegate = self;

// 设置最大伸缩比例
scrollView.maximumZoomScale = 2.0;
// 设置最小伸缩比例
scrollView.minimumZoomScale = 0.2;
}

#pragma mark - UIScrollView 的 代理方法
#pragma mark 这个方法返回的控件就能进行捏合手势缩放操作
#pragma mark 当UIScrollView尝试进行缩放的时候就会调用
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return _imageView;
}

#pragma mark 当缩放完毕的时候调用
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{
// NSLog(@"结束缩放 - %f", scale);
}

#pragma mark 当正在缩放的时候调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
// NSLog(@"-----");
}
@end
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式