您的位置:首页 > 产品设计 > UI/UE

UI_拖动View

2015-07-03 12:44 295 查看

方法一

在touchesMoved中

// 获取到触摸的手指
UITouch *touch = [touches anyObject]; // 获取集合中对象
// 获取开始时的触摸点
CGPoint previousPoint = [touch previousLocationInView:self];
// 获取当前的触摸点
CGPoint latePoint = [touch locationInView:self];
// 获取当前点的位移量
CGFloat dx = latePoint.x - previousPoint.x;
CGFloat dy = latePoint.y - previousPoint.y;
// 获取当前视图的center
CGPoint center = self.center;
// 根据位移量修改center的值
center.x += dx;
center.y += dy;
// 把新的center赋给当前视图
self.center = center;


方法二

#pragma mark - 重写方法
#pragma mark 触摸开始
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
self.startPoint = [touch locationInView:self];

NSLog(@"%s",__FUNCTION__);
}

#pragma mark - 触摸移动
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"%s",__FUNCTION__);

// 实现touchview随手势移动

UITouch *touch = [touches anyObject];
self.endPoint = [touch locationInView:self];
CGFloat x = _endPoint.x - _startPoint.x;
CGFloat y = _endPoint.y - _startPoint.y;

CGPoint center = self.center;

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