gpt4 book ai didi

ios - 更改出列的注释 View 的图像会导致先前使用的图像短暂出现

转载 作者:行者123 更新时间:2023-11-29 05:31:15 25 4
gpt4 key购买 nike

我正在编写一个在 map 上显示一组缩略图的应用程序。当我需要显示新的缩略图时,我使用 dequeueReusableAnnotationViewWithIdentifier 将 map 注释 View 出队。然后我更改注释 View 图像。似乎有一种动画效果,从先前使用注释 View 所使用的图像淡入新分配的图像。有没有一种简单的方法可以只显示新图像而不使用动画。

在:

func mapView(_ mapView: MKMapView, viewFor 注释: MKAnnotation)

我试过:

MKAnnotationView(注释:注释,reuseIdentifier:nil)

即创建一个新的注释 View ,该 View 在滚动到屏幕外或被应用程序删除后不会重复使用。这解决了问题,但注释 View 永远无法用于 dequeueReusableAnnotationView。出于性能原因,不建议这样做,但它解决了我的问题!这是唯一的解决方案吗?

最佳答案

在你的 MKAnnotationView 子类中,你应该有类似的内容

override var annotation: MKAnnotation? {
willSet {
...
}
}

如果不再需要 MKAnnotationView 实例,MapKit 会设置 annotation = nil

这是 willSet 清理对象的绝佳时机:将图像设置为 nil,也许也将您使用的其他属性设置为 nil。

如果您这样做,则不应显示任何引用的图像。

关于ios - 更改出列的注释 View 的图像会导致先前使用的图像短暂出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57534019/

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