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

        }
      
    }

  • 相关阅读:
    Windows8 游戏开发教程开篇
    IPAD 游戏开发方案,windows开发
    谈一谈 Windows 8 的软件开发架构
    html5 大家一起来瞅吧瞅吧
    silverlight5中CLGF的推进
    html5 游戏界面问题
    挑战SVN,最纯洁的SVN客户端计划
    章鱼哥的暴走,HTML5也开始了
    MySQL的常用操作!
    两种屏蔽鼠标右键的方法
  • 原文地址:https://www.cnblogs.com/wangdelong/p/3848546.html
Copyright © 2020-2023  润新知