【发布时间】: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