Или вы можете использовать UIPanGestureRecognizer
, если вы не хотите создавать подкласс вида и обрабатывать его прикосновением.
Создать распознаватель панорамирования в любом классе (например, контроллер представления) и добавить его в свой вид:
UIPanGestureRecognizer * panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self
action:@selector(handlePanGesture:)];
[myDraggedView addGestureRecognizer:panRecognizer];
А потом просто:
- (void)handlePanGesture:(UIPanGestureRecognizer *)gestureRecognizer
{
CGRect frame = myDraggedView.frame;
frame.origin = [gestureRecognizer locationInView:myDraggedView.superview];
myDraggedView.frame = frame;
}
Если вам нравится Интерфейсный конструктор так же, как и мне, вы можете просто перетащить средство распознавания жестов панорамирования на изображение, изатем подключите распознаватель к handlePanGesture:
, который должен быть объявлен как IBAction
вместо void
.