gpt4 book ai didi

uiscrollview - 检测 MKMapView 的平移 + 减速

转载 作者:行者123 更新时间:2023-12-04 03:59:01 27 4
gpt4 key购买 nike

我正在尝试在 MKMapView 上捕获平移和“滚动结束”。使用手势识别器可以轻松实现平移。然而,MKMapView 似乎没有在 iOS 6 中实现 UIScrollViewDelegate。这使得解决方案在 Is there way to limit MKMapView maximum zoom level? 中。不行。

想法?理想情况下,我会像这样利用 UIScrollViewDelegate:

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
if ([super respondsToSelector:@selector(scrollViewDidEndDecelerating:)]) {
[super scrollViewDidEndDecelerating:scrollView];
}
[self.myDelegate mapDidFinishPanning:self];
}

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate: (BOOL)decelerate {
if ([super respondsToSelector:@selector(scrollViewDidEndDragging:)]) {
[super scrollViewDidEndDragging:scrollView];
}

if(!decelerate) {
[self.myDelegate mapDidFinishPanning:self];
}

}
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
if ([super respondsToSelector:@selector(scrollViewWillBeginDragging:)]) {
[super scrollViewWillBeginDragging:scrollView];
}
[self.myDelegate mapDidBeginPanning:self];
}

在扩展 MKMapView 的类中
@interface MyMapView : MKMapView <UIScrollViewDelegate, UIGestureRecognizerDelegate>

但这在 iOS 6 中不起作用。我在 MKMapViewDelegate 中看不到任何足够的东西。

最佳答案

回答我自己。我实现了所有 MKMapViewDelegate 的方法,似乎

- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated

在锅上调用,并且
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated

一旦减速停止(而不是之前)就被调用。

关于uiscrollview - 检测 MKMapView 的平移 + 减速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14108801/

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