- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个带有 MKMapView 的应用程序和每次 map 更改位置时调用的代码(在 regionDidChangeAnimated 中)。当应用程序最初加载时,regionDidChangeAnimated 会在显式更新 map 坐标的平移(滑动)、捏合、点击和按钮上被调用。在加载其他 View 并返回到 map 后,regionDidChangeAnimated 仅在点击和明确更新 map 的按钮时被调用。平移 map 和捏合不再调用 regionDidChangeAnimated。
我看过这个stackoverflow post这并没有解决这个问题。论坛发帖devforums和 iphonedevsdk也没有用。有谁知道是什么导致了这个问题?我没有向 MKMapView 添加任何 subview 。
最佳答案
我最初不想这样做,但到目前为止它似乎没有任何问题(摘自有问题的 devforums 帖子):
将 UIGestureRecognizerDelegate 添加到您的标题中。现在添加版本号检查...如果我们在 iOS 4 上,我们可以这样做:
if (NSFoundationVersionNumber >= 678.58){
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchGestureCaptured:)];
pinch.delegate = self;
[mapView addGestureRecognizer:pinch];
[pinch release];
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureCaptured:)];
pan.delegate = self;
[mapView addGestureRecognizer:pan];
[pan release];
}
添加委托(delegate)方法来处理手势:
#pragma mark -
#pragma mark Gesture Recognizers
- (void)pinchGestureCaptured:(UIPinchGestureRecognizer*)gesture{
if(UIGestureRecognizerStateEnded == gesture.state){
///////////////////[self doWhatYouWouldDoInRegionDidChangeAnimated];
}
}
- (void)panGestureCaptured:(UIPanGestureRecognizer*)gesture{
if(UIGestureRecognizerStateEnded == gesture.state){
///////////////////[self doWhatYouWouldDoInRegionDidChangeAnimated];
}
}
-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
return YES;
}
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch: (UITouch *)touch{
return YES;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
关于ios - MKMapView 不在 Pan 上调用 regionDidChangeAnimated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9120961/
我想确定 MKMapViewDelegate 中的最小 + 最大可见纬度和经度值委托(delegate)方法: - (void)mapView:(MKMapView *)mapView regionD
当用户使用手势或搜索移动 map (一般移动 map )时,我试图运行一个简单的打印功能我已经按照苹果引用指南进行操作,但出现错误。我关注了其他堆栈溢出帖子和其他谷歌搜索结果。我不知道是不是因为我在其
这让我很沮丧! 大多数时候它都会被调用,但随后它会停止响应捏合。它将在屏幕旋转和双击上调用。不至于紧要关头! 救命! 最佳答案 我正在编写一些具有相同问题的代码,结果发现问题是带有 UIGesture
我真的希望你能帮助我。我正在使用 MapBox 以及一段“增强现实”代码 ( https://github.com/DanijelHuis/HDAugmentedReality )。 它的工作方式是我
我有一个 MKMapView ,其中有一些注释。现在,每当区域发生变化时,我都会加载新的注释。这工作正常,但如果某些注释靠近 map View 的边界并且您点击它,注释信息窗口会弹出,并且 mkmap
我正在使用此处解释的代码(Jacob 的代码)实现自定义 MKAnnotationView 标注,它实际上会在选择 Annotation 时放置另一个 Custom AnnotationView: M
好吧,我知道我一定做错了什么,但该死的如果我能弄清楚, 基本上我试图在 regionDidChangeAnimated 调用中获取 VisibleMapRect,但看起来好像在实际设置值之前触发了此调
在 Storyboard中,我有一个与 View Controller 相关的导航 Controller 。 View Controller 包含一个 MKMapView。 View Controll
我有一个带有 MKMapView 的应用程序和每次 map 更改位置时调用的代码(在 regionDidChangeAnimated 中)。当应用程序最初加载时,regionDidChangeAnim
每当用户滚动 map 或放大/缩小时,都会立即调用此方法。我想延迟调用此方法 2 秒。有可能吗? 最佳答案 您可以像这样实现该方法: -(void)mapView:(MKMapView *)mapVi
我有一个 TabView,并且我的一个选项卡包含一个 mapView。当我由于某种原因使用 mapView 加载选项卡时,regionDidChangeAnimated 被调用两次。我在所有其他函数中
我正在使用 showAnnotations 方法在 iOS7 中的 MKMapView 上显示我的标记。有时它可以完美运行并显示所有注释,但有时它会出现 EXEC_BAD_ACCESS 错误。 这是我
我是一名优秀的程序员,十分优秀!