您的位置:首页 > 其它

触摸方法

2015-08-13 10:03 183 查看
#pragma mark 开始触摸

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

// 获取第一个触摸的点

UITouch *touch = [touches anyObject];

// 获取这点相对于window坐标

CGPoint point = [touch locationInView:self.window];

// 将x轴与y轴差值赋值给实例变量

_x = point.x - self.center.x;

_y = point.y - self.center.y;

}

#pragma mark 触摸过程中

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

{

// 1. 在集合中取出触摸的点

UITouch *touch = [touches anyObject];

// 2. 获取这个点坐标信息 (针对window或者自身)

CGPoint point = [touch locationInView:self.window];

NSLog(@"%@", NSStringFromCGPoint(point));

CGFloat x = point.x - _x;

CGFloat y = point.y - _y;

self.center = CGPointMake(x, y); // 中心点坐标

}

#pragma mark 触摸结束

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

NSLog(@"%d %s", __LINE__, __FUNCTION__);

CGFloat red = (arc4random() % 256) / 255.0;

CGFloat green = (arc4random() % 256) / 255.0;

CGFloat blue = (arc4random() % 256) / 255.0;

self.backgroundColor = [UIColor colorWithRed:red green:green blue:blue alpha:1.0f];

}

#pragma mark 触摸被取消

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event

{

NSLog(@"%d %s", __LINE__, __FUNCTION__);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: