博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS缩放手势
阅读量:5990 次
发布时间:2019-06-20

本文共 2114 字,大约阅读时间需要 7 分钟。

  hot3.png

1,先设置一个属性用来存放缩放数值,可以在 .h 文件中进行:

#import 
@interface ViewController : UIViewController@property (nonatomic) CGFloat lastScale ;@end

2,设置缩放手势代理协议:

#import "ViewController.h"@interface ViewController ()
@property (nonatomic,strong) UIView *viewVC;@end

3,添加视图,并将视图添加手势:

@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];        UIView *viewVC = [[UIView alloc]initWithFrame:CGRectMake(0, 100, [UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height - 300)];    self.viewVC = viewVC;        UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, [UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height - 300)];    imgView.image = [UIImage imageNamed:@"Kuture"];        UIPinchGestureRecognizer *pinchGes = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(scaGesture:)];    [pinchGes setDelegate:self];    [self.viewVC addGestureRecognizer:pinchGes];            [self.viewVC addSubview:imgView];    [self.view addSubview:self.viewVC];}

4,设置缩放手势的方法实现:

-(void)scaGesture:(id)sender {        [self.view bringSubviewToFront:[(UIPinchGestureRecognizer*)sender view]];            if([(UIPinchGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) {                _lastScale = 1.0;                return;            }                CGFloat scale = 1.0 - (_lastScale - [(UIPinchGestureRecognizer*)sender scale]);        CGAffineTransform currentTransform = [(UIPinchGestureRecognizer*)sender view].transform;        CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);        [[(UIPinchGestureRecognizer*)sender view]setTransform:newTransform];    //    NSLog(@"Scale:%f LastScale:%f ViewX:%f ViewY:%f ViewW:%f VeiwH:%f",scale,_lastScale,self.viewVC.bounds.origin.x,self.viewVC.bounds.origin.y,self.viewVC.bounds.size.width,self.viewVC.bounds.size.height);        _lastScale = [(UIPinchGestureRecognizer*)sender scale];    }@end

*****测试所用图标*****

1>  知识库

132837_eR4b_2728740.png

2> EasyBug

132926_zILV_2728740.png

3> 系统消息

133258_DXsR_2728740.png

4> 私信

133202_0xWn_2728740.png

5> 评论

133323_4viu_2728740.png

 

6>我的

133453_HKzU_2728740.png

 

 

转载于:https://my.oschina.net/Kuture/blog/690029

你可能感兴趣的文章
js删除数组里的某个元素
查看>>
XP/win7下maven安装详解
查看>>
【MySql】2.mysql约束
查看>>
JAVA打开指定网页
查看>>
PHP如何实现页面静态化
查看>>
HDU 4371 Alice and Bob
查看>>
软测第一次lab 实验报告
查看>>
Hadoop分布式文件系统:架构和设计要点 - 转
查看>>
4.EGit基本用法
查看>>
Android FrameWork——Binder机制详解(2)
查看>>
面向对象的Shell脚本
查看>>
那一抹秋色!漂亮的秋天风景壁纸【组图】
查看>>
解密gzip压缩的网页数据流(转)
查看>>
手工建库
查看>>
Vue beforeRouteEnter 的next执行时机
查看>>
下班后这9件事,决定不同的人生
查看>>
Cocoa Touch事件处理流程--响应者链
查看>>
MSSQL注入
查看>>
10个开发中常用的PHP代码样例
查看>>
JavaScript数组小方法
查看>>