Так же, как с любой другой UIView, можно добавить жест распознаватель:
UISwipeGestureRecognizer *swipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)];
[view1 addGestureRecognizer:swipeGestureRecognizer];
Проблема заключается в свойстве «направлении» в UISwipeGestureRecognizer в. Apple документация об этом объекте:
Допустимое направление движения для этого распознавателя жестов.
Поскольку вид повернут, направления вращаются вдоль. Если представление повернуто на 180 градусов, и пользователь переместится вправо, распознаватель жеста видит его как левый салфетчик. Я бы предложил использовать представление оболочки, на котором должен быть размещен распознаватель жестов. Попробуйте это:
UIView *view2 = [[UIView alloc] initWithFrame:view1.frame];
[view1.superview addSubview:view2];
view2.backgroundColor = [UIColor clearColor];
UISwipeGestureRecognizer *swipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)];
[view2 addGestureRecognizer:swipeGestureRecognizer];
Недостаток заключается в том, что есть определенные области в пределах View2, но за пределами view1, который будет реагировать на жест распознаватель.