使用手势放大和缩小View如何设置最大和最小界限

 我来答
就烦条0o
2016-08-21 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
第一步:声明手势对象,并加入你想要作用的view上

// 放大缩小手势

UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc]

initWithTarget:self action:@selector(scale:)];

[pinchRecognizer setDelegate:self];

[self.view addGestureRecognizer:pinchRecognizer];

[pinchRecognizer release];

第二步:声明3个成员变量,lastScale用来保存上次放大或缩小的那个值,并赋初值为1,因为原大小时就是1.

CGFloat lastScale = 1.0f;

设置可允许放大或缩小的值.

CGFloat mixScale, maxScale;

第三步:实现scale方法,来获取当前scale的值,并设置view的缩放。

- (void)scale:(UIGestureRecogize *)gesure {

if([recognizer state] == UIGestureRecognizerStateBegan) //1 {
lastScale = self.scale; //2 }
float nowScale; //3 nowScale = (lastScale - 1) + recognizer.scale; //4 nowScale = MIN(nowScale,maxScale);//不大于缩放上限 //5 nowScale = MAX(nowScale,mixScale);//不低于缩放下限 //6
CGAffineTransform currentTransform = self.view.transform;

self.view.transform = CGAffineTransformScale(currentTransform, nowScale,nowScale);

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式