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(@"缩小");
          }

        }
      
    }

  • 相关阅读:
    放弃我最喜爱的网络,全面转入软件开发
    [推荐]制作div+css圆角
    一个页面多个超连接的实现
    C#基类和派生类
    代码不是重点, 领悟OO思想(一)
    C#params 有什么用?
    计算机族必喝的健康饮品
    今天再做上传图片时候遇到了一个JS 图片预览问题
    C#中split的5种方法
    [推荐]制作div+css圆角
  • 原文地址:https://www.cnblogs.com/wangdelong/p/3848546.html
Copyright © 2011-2022 走看看