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

        }
      
    }

  • 相关阅读:
    如何调用ActiveX网页中的JavaScript函数
    VC++开发的ActiveX如何加入安全机制,避免IE中提示“在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,你想允许这种交互吗?”
    ActiveX多线程回调JavaScript
    JavaScript脚本如何访问VC++开发的ActiveX中的方法
    ActiveX异步回调JavaScript
    com/atl套间编程中如何实现定时invoke容器中的方法
    VC++开发的ActiveX如何通过JavaScript脚本和EOS应用交互
    thread wrapper
    最新Mysql中文帮助
    如何避免重复的http请求
  • 原文地址:https://www.cnblogs.com/wangdelong/p/3848546.html
Copyright © 2011-2022 走看看