Для этого вы должны следить за этим, отслеживая прикосновения пользователей, вот пример метода, который сделает что-то, когда пользователь проведет пальцем вправо или влево
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:self];
// If the swipe tracks correctly.
if (fabsf(startTouchPosition.x - currentTouchPosition.x) >= HORIZ_SWIPE_DRAG_MIN &&
fabsf(startTouchPosition.y - currentTouchPosition.y) <= VERT_SWIPE_DRAG_MAX)
{
// It appears to be a swipe.
if (startTouchPosition.x < currentTouchPosition.x)
[delegate doLeftTransition];
else
[delegate doRightTransition];
}
else
{
// Process a non-swipe event.
}
}
Обратите внимание, что startTouchPosition устанавливается, когда пользователь опускает палец и является членом класса. Начальная позиция задается таким способом
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
startTouchPosition = [touch locationInView:self];
}
Приведенный выше пример кода что-то делает, когда пользователь проводит пальцем вправо или влево, но вы можете легко настроить его, чтобы выяснить, когда пользователь проводит пальцем вниз или по кругу так же, как в примере выше. Как только вы выясните, когда пользователь сделал такой жест, вы можете поменять местами свои изображения.