【问题标题】:Prevent MKMapView from scrolling horizontally endlessly防止 MKMapView 无休止地水平滚动
【发布时间】:2014-01-14 21:44:53
【问题描述】:

如何防止 MKMapView 无限水平滚动。 我正在使用叠加层来显示自定义地图

MKTileOverlay *overlay = [[MKTileOverlay alloc]initWithURLTemplate:tileTemplate];
[mapView addOverlay:overlay];
 mapView.visibleMapRect = MKMapRectWorld;

当用户水平滚动并到达 MKMapRectWorld 的末尾时,地图会重复。

我看了Restrict MKMapView scrolling 但代码看起来相当复杂,在动画回滚之前可以看到一点点重复的地图。

-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {

BOOL mapContainsOverlay = MKMapRectContainsRect(MKMapRectWorld,self.mapView.visibleMapRect);

if (!mapContainsOverlay) {


    [self.mapView setVisibleMapRect:MKMapRectWorld animated:NO];
}

} //或regionWillchangeAninmate

还有其他方法吗?

【问题讨论】:

    标签: ios ios7 mkmapview mkoverlay


    【解决方案1】:

    由于地图不是 UIScrollView 的子项,因此不能直接限制地图在一个方向上滚动。也许尝试在地图视图顶部添加一个透明的滚动视图并转发您认为足以满足您想要的行为的触摸。

    【讨论】:

      猜你喜欢
      • 2014-01-02
      • 1970-01-01
      • 2015-08-09
      • 2019-08-17
      • 1970-01-01
      • 2018-11-09
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多