可以帮助我吗?我需要停止MkMapView方法setRegion:region animated:true。我需要使用选项设置新区域以停止它。 谢谢。MKMapView setRegion如何停止动画
1
A
回答
-1
最简单的方法是nil
MKMapView
的委托,以便在它之后不会调用委托方法。
self.mapView.delegate = nil;
0
有一两件事你可以尝试创造一个CADisplayLink
被拴在屏幕刷新频率,然后在其回调,检查地图的当前状态。在那里您可以调用另一个setRegion:animated:
到当前位置以停止以前的动画。
2
如果您创建另一个动画,但是与现有区域不同的区域,则会使现有动画失效。注意:如果我尝试创建一个新的动画,但是对于visibleMapRect,iOS将会忽略它。
func stopZoom() {
//the trick: creating a region very similar to the existing one
var mapRegion:MKCoordinateRegion = MKCoordinateRegionForMapRect(self.mapView.visibleMapRect)
mapRegion.span.latitudeDelta = mapRegion.span.latitudeDelta + 0.000001
UIView.animateWithDuration(0.1, delay: 0.0, options: [], animations: {
let mapRegion:MKCoordinateRegion = mapRegion
self.mapView.setRegion(mapRegion, animated: true) //this will invalidate the other animations
}) { (completed: Bool) -> Void in
}
}
,以供参考startZoom方法:
func startZoom() {
UIView.animateWithDuration(10, delay: 0.0, options: [UIViewAnimationOptions.CurveLinear, UIViewAnimationOptions.AllowUserInteraction, UIViewAnimationOptions.BeginFromCurrentState], animations: {
let mapRegion:MKCoordinateRegion = MKCoordinateRegionMakeWithDistance(self.coordinate, 500, 500)
self.mapView.setRegion(mapRegion, animated: true)
}) { (completed: Bool) -> Void in
}
}
花相当多的时间来弄清楚这一点,我希望这将是对你有所帮助。
相关问题
- 1. 的MKMapView setRegion动画防止在注释视图
- 2. MKMapView setRegion not exact
- 3. MKMapView崩溃setRegion
- 4. MKMapView的setRegion速度
- 5. 如何停止在mkmapview中滚动?
- 6. MKMapView和setRegion:动画:不更新地图视觉
- 7. 的MKMapView setRegion不恒定
- 8. 如何停止动画
- 9. 如何停止动画
- 10. 如何停止svg动画?
- 11. 如何停止CSS动画
- 12. 如何停止动画?
- 13. 如何停止动画WPF?
- 14. 如何停止动画
- 15. 如何停止此动画?
- 16. 如何停止动画onBackPressed?
- 17. 如何停止滚动动画
- 18. 悬停时动画“停止”
- 19. 停止GIF动画
- 20. android - 停止动画
- 21. jQuery停止动画
- 22. 如何停止ListView的PullToRefresh动画
- 23. QML如何停止过渡动画?
- 24. 如何在GameQuery中停止动画
- 25. iphone:如何停止快门动画?
- 26. 如何停止jQuery循环动画?
- 27. 如何停止图像动画?
- 28. 如何使用beginAnimations后停止动画?
- 29. 如何在C#/ WPF中停止动画?
- 30. 如何停止滚动画廊?