gpt4 book ai didi

IOS 11 MKMapview 在更改其框架或旋转时更改缩放级别

转载 作者:可可西里 更新时间:2023-11-01 03:56:31 26 4
gpt4 key购买 nike

我有一个 MKMapView,我用这样的代码扩展和收缩:

UIView.animate(withDuration: 0.5) {
mapView.frame = CGRect(x: 0, y: 0, width: 200, height: 400)
}

在 IOS 11 之前,上述代码会在动画完成后触发 regionDidChangeAnimateddelegate 方法。它会改变它的区域并让缩放级别。

在 iOS 11 中,只有缩放比例发生了变化。没有触发任何委托(delegate)方法。

我需要像以前一样拥有它。更改 map 框架应该只会使可见区域更大而不会改变缩放比例。

我尝试在更改 mapViews 框架之前设置 mapView.isZoomEnabled = false,但缩放级别不断变化。

更新:

我添加了两个动画 GIF 来比较 IOS 11 和以前的 IOS 版本。

IOS 11 会在展开动画开始前立即放大。反向动画完成后会缩小。

正如您在下面看到的,IOS 9 的动画非常流畅。


iOS 11:

enter image description here


iOS 9:

enter image description here

最佳答案

找到解决办法了!更多的黑客:

使 MapView 在 Y 上居中并给 MapView 一个固定的高度,我使用了:UIScreen.main.bounds.size.height

关于IOS 11 MKMapview 在更改其框架或旋转时更改缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46890531/

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