我正在添加一些带有目标和选择器的 UIGestureRecognizers。我只谈一个,因为另一个我敢肯定。
我添加了一个 UIPinchGestureRecognizer
UIPinchGestureRecognizer *pinch = [UIPinchGestureRecognizer new];
[pinch addTarget:self action:@selector(pinchGestureDetected:)];
[self.view setMultipleTouchEnabled:YES];
[self.view addGestureRecognizer:pinch];
现在我的目标是在收到捏合手势时简单地调用此方法一次。但很明显,当人们捏捏它时,它会继续调用它。我将它用作页面导航的一部分,并在检测到捏合时更新视图。
所以在我的 -(void)pinchGestureDetected:(UIPinchGestureRecognizer)pinch 方法中,我将调用另一个方法。有点像……这有点 sudo
-(void)pinchGestureDetected:(UIPinchGestureRecognizer)pinch
{
if (pinch.scale > 1) layoutViewWithMoreDetail;
else layoutViewWithLessDetail;
}
所以我不希望它一直调用这个方法或者layout方法会继续被调用。我想要一种布局/捏合手势。
一旦确定了比例,有什么方法可以停止检测夹点?一路上的东西...
-(void)pinchGestureDetected:(UIPinchGestureRecognizer)pinch
{
if (pinch.scale > 1)
{
layoutViewWithMoreDetail;
stop receiving pinch gestures till this.gesture is finished;
}
我会暗示 GestureDelegate 吗?
-(void)pinchGestureDetected:(UIPinchGestureRecognizer)pinch
{
if (pinch.scale > 1 && pinching == NO )
{
layoutViewWithMoreDetail;
pinching = YES;
}
然后在 Gesture 的代表中结束... pinching = NO;
谢谢你的帮助