gpt4 book ai didi

iphone - 检测从 iPhone MapView 开始的捏合手势

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:50:59 30 4
gpt4 key购买 nike

我们正在为 iPhone 开发基于 map 的应用程序。我们需要检测 MapView 上拖动和捏合手势的开始。

我们能够使用 regionWillChange 委托(delegate)方法检测拖动的开始。我们无法检测到捏合手势的开始。

我们正在寻找一种检测捏合手势开始的方法。在 MapView 上可以吗?

提前致谢。

编辑:我们已尝试使用以下代码,但没有成功。

UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(checkpinch)]; 
[self.mapView addGestureRecognizer:pinch];
[pinch release];

双击手势识别器使用类似的代码在 MapView 上工作。

UITapGestureRecognizer *Tap= [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(checktap)]; 
[self.mapView addGestureRecognizer:Tap];
[Tap release];

最佳答案

完美而简单的解决方案。

首先在你的 .h 文件中添加 UIGestureRecognizerDelegate而不是在 .m 文件中添加以下两种方法

    -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
return YES;
}

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

{
return YES;
}

-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

{
return YES;
}

在 viewdidload 中进行以下更改

[self.view insertSubview:mapView atIndex:0];

UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(yourmethod)];
[pinch setDelegate:self];
[pinch setDelaysTouchesBegan:YES];
[self.mapView addGestureRecognizer:pinch];
[pinch release];

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(youemethod)];
[tap setDelegate:self];
[self.mapView addGestureRecognizer:tap];
[tap release];

关于iphone - 检测从 iPhone MapView 开始的捏合手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8708518/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com