iOS拖动UIImageView

Sam*_*nen 5 iphone objective-c uiimageview drag

好的,所以我一直想知道如何实际获取图像视图并拖动它.我正在计划当我拖动图像视图时,当用户将其放置到正确的位置时,它会锁定在那里.我真的不知道如何做到这一点,它已经困扰了我一段时间.

非常感谢提前!

Riv*_*era 7

或者你可以使用a,UIPanGestureRecognizer如果你不想继承视图并自己处理触摸.

在任何类(例如视图控制器)中创建一个pan识别器并将其添加到您的视图中:

UIPanGestureRecognizer * panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self
                                                                                 action:@selector(handlePanGesture:)];
[myDraggedView addGestureRecognizer:panRecognizer];
Run Code Online (Sandbox Code Playgroud)

然后简单地说:

- (void)handlePanGesture:(UIPanGestureRecognizer *)gestureRecognizer
{
    CGRect frame = myDraggedView.frame;
    frame.origin = [gestureRecognizer locationInView:myDraggedView.superview];
    myDraggedView.frame = frame;
}
Run Code Online (Sandbox Code Playgroud)

如果您像我一样喜欢Interface Builder,您也可以在图像视图上拖动平移手势识别器,然后将识别器连接到handlePanGesture:应该声明为IBAction而不是void.


Pen*_*One 3

如果您喜欢阅读,请查看“UIResponder类参考”,特别是touchesBegan“和” touchesMoved