触摸方法

    • #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__);
    • }
posted @ 2015-08-13 10:03  ~Imp  阅读(124)  评论(0编辑  收藏  举报