我想知道是否有一种方法可以限制GestureRecognizers中UIViews的大小或移动。
当然,我可以编写自己的限制代码,但我想知道我们是否可以设置一些属性或其他东西来设置一些限制。
例如,在UIPanGestureRecognizer中,我想限制添加到PanGesture的视图在特定CGRect内的移动,所以有没有方法可以设置边界矩形,以便在感知PanGesture时,如果视图超出我的边界框架,它将不允许这样做。
发布于 2011-08-12 07:59:32
据我所知,你必须自己写。
点击手势可以让你设置用多少根手指点击多少次,但大多数手势都不提供很多帮助。
发布于 2012-05-10 18:27:25
我认为实现这一点的最简单方法是在rect中创建一个不可见的视图,并在其中添加手势。示例:您希望检测视图X中矩形{a,b,c,d}内的移动。在{a,b,c,d}矩形中创建UIView Y。将其背景颜色设置为clearColor。创建手势识别器并将其添加到Y视图。在手势的选择器中做如下操作:
- (void) selector:(UIPanGestureRecognizer *) gesture
{
UIView *viewX = [self.view viewWithTag:kTagViewX];
//now you know that the gesture took place and you have access to your view
}如果您需要更改您希望手势处于活动状态的矩形,只需移动Y视图即可!
编辑:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;这取决于触摸参数的位置。
https://stackoverflow.com/questions/4145714
复制相似问题