zoukankan      html  css  js  c++  java
  • 手势(4)判断放大缩小

    #import "MJcostom.h"

    @implementation MJcostom

    - (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            self.backgroundColor=[UIColor yellowColor];
            NSLog(@"现在开始");
            
            _moveView= [[UIView alloc]initWithFrame:CGRectMake(0, 30, 30, 30)];
            _moveView.backgroundColor=[UIColor greenColor];
            
            
            _enlargeView=[[UIView alloc]initWithFrame:CGRectMake(50, 100, 50, 50)];
            _enlargeView.backgroundColor=[UIColor
                                          blueColor];
            
            [self addSubview:_moveView];
            [self addSubview:_enlargeView];
            
            self.multipleTouchEnabled=YES;
            
        }
        return self;
    }


    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {

        _moveView= [[UIView alloc]initWithFrame:CGRectMake(50, 30, 30, 30)];
        _moveView.backgroundColor=[UIColor greenColor];
        [self addSubview:_moveView];
        
        if (touches.count==2) {
            
            NSArray *touch = [touches allObjects];
            
            _first= [touch[0] locationInView:self];
            _second=[touch[1] locationInView:self];
            
            _enlargeView.center= CGPointMake(((_first.x+_second.x)/2), ((_first.y+_second.y)/2));
            
            
            _distance= (powf(_first.x-_second.x, 2) )+( powf(_first.y-_second.y, 2));
            NSLog(@"%lf",_distance);
         
        }
    }

    -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
    {
    }


    -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
        UITouch *touch = [touches anyObject];

            CGPoint currentPoint = [touch locationInView:self];
        
            self.moveView.center=currentPoint;
        
        if (touches.count==2) {
            NSArray *touchend =[touches allObjects];
            
            CGPoint firstend =[touchend[0] locationInView:self];
            CGPoint secondend= [touchend[1] locationInView:self];
            
            float distanceend;
             distanceend= (powf(firstend.x-secondend.x, 2) )+( powf(firstend.y-secondend.y, 2));
            NSLog(@"%lf",distanceend);
            
            if (distanceend>_distance) {
                NSLog(@"放大");
            }else
            {
                NSLog(@"缩小");
          }

        }
      
    }

  • 相关阅读:
    【转+补充】在OpenCV for Android 2.4.5中使用SURF(nonfree module)
    Delphi StarOffice Framework Beta 1.0 发布
    Angular ngIf相关问题
    angularjs文档下载
    公众号微信支付开发
    公众号第三方平台开发 教程六 代公众号使用JS SDK说明
    公众号第三方平台开发 教程五 代公众号处理消息和事件
    公众号第三方平台开发 教程四 代公众号发起网页授权说明
    公众号第三方平台开发 教程三 微信公众号授权第三方平台
    公众号第三方平台开发 教程二 component_verify_ticket和accessToken的获取
  • 原文地址:https://www.cnblogs.com/wangdelong/p/3848546.html
Copyright © 2011-2022 走看看