获取触摸的两点距离
Posted pengyuan_D
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取触摸的两点距离相关的知识,希望对你有一定的参考价值。
(1)设置根视图控制器
(2)
#import "RootViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
// Custom initialization
return self;
- (void)viewDidLoad
[super viewDidLoad];
//设置背景颜色
self.view.backgroundColor = [UIColor grayColor];
//开启多点触摸
self.view.multipleTouchEnabled = YES;
//触摸移动
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
if (touches.count == 2)
<span style="color:#ff0000;">//将集合转换成数组</span>
NSArray *touchArrary = [touches allObjects];
//取出两个touch
UITouch *touch1 = touchArrary[0];
UITouch *touch2 = touchArrary[1];
//取出touch当前所在的坐标
CGPoint p1 = [touch1 locationInView:self.view];
CGPoint p2 = [touch2 locationInView:self.view];
//计算现在两点之间的距离
CGFloat distance1 = [self distanceTwoPoint:p1 WithPoint:p2];
//取得上两点的坐标
CGPoint lastP1 = [touch1 previousLocationInView:self.view];
CGPoint lastP2 = [touch2 previousLocationInView:self.view];
//计算上两点之间的距离
CGFloat distance2 = [self distanceTwoPoint:lastP1 WithPoint:lastP2];
if (distance1 > distance2)
NSLog(@"放大了");
else if (distance1 < distance2)
NSLog(@"缩小了");
//计算两点之间的距离
- (CGFloat)distanceTwoPoint:(CGPoint)p1 WithPoint:(CGPoint)p2
/*
((x1-x2)平方 + (y1 - y2)平方)开方
*/
//取得x和y的值
CGFloat x1 = p1.x;
CGFloat y1 = p1.y;
CGFloat x2 = p2.x;
CGFloat y2 = p2.y;
CGFloat distance = sqrtf(pow(x1-x2, 2) + pow(y1-y2, 2));
return distance;
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
*/
@end
以上是关于获取触摸的两点距离的主要内容,如果未能解决你的问题,请参考以下文章
千题案例TypeScript获取两点之间的距离 | 中点 | 补点 | 向量 | 角度