首页 > 代码库 > 手势(4)判断放大缩小
手势(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(@"缩小");
}
}
}