2011-12-28 6 views
1

Я должен реализовать жест скольжения внутри подсмотра; это подтаблицы является косым взглядомiOS: жестом салфетки внутри подвидности

view1.transform = CGAffineTransformMakeRotation((54 * -M_PI)/180); 

Я хочу реализовать салфетки жеста внутри этой точки зрения, если это произойдет, я должен иметь NSLog, что сказать, что красть происходит внутри этой точки зрения, это возможно?

ответ

5

Так же, как с любой другой 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, который будет реагировать на жест распознаватель.

Смежные вопросы