2011-12-28 92 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]; 

缺点是有视图2,但外界厂景内的某些区域,这将在手势识别响应。

相关问题