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

    }
  
}

原文地址:https://www.cnblogs.com/wangdelong/p/3848546.html