小编jma*_*101的帖子

如何在 SwiftUI Map():View 上正确放置 2000 多个自定义注释以将延迟保持在最低限度

我很好奇当你需要在 SwiftUI 中的 Map 上有一堆自定义注释时,最佳实践是什么。这是我的第一个真正的 IOS 项目,所以我的边缘有点粗糙。目前,我有 2400 个注释,它们是带有自定义图像的按钮,最终,当用户单击它们时,它们会弹出有关艺术品的信息。

到目前为止,我所做的是将每个引脚的所有数据放入 CoreData 中,并与其所代表的实体建立正确的关系,以及直接从 MapAnnotation 内容在我的资产文件夹中调用的图像字符串。

我在自己的 iPhone 8 上运行过。FPS 明显下降。不知道是不是因为注释量很大,但是那是不会往下掉的。这是我的 MapView() 的示例

仅供参考,我在 onAppear() 上获取引脚,按钮上也将有一个过滤器。代码还远远没有完成,只是试图在走得太远而无法返回之前解决一个问题。

感谢您的任何意见。祝你有美好的一天


导入 SwiftUI 导入 MapKit 导入 CoreData

结构MapView:视图{

@Environment(\.managedObjectContext) private var moc
@State var pins: [Pin] = []
@State var userTrackingMode: MapUserTrackingMode = .follow

// Location for Montreal downtown
@State var region = MKCoordinateRegion(
    center: CLLocationCoordinate2D(latitude: 45.50240, longitude: -73.57067),
    span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))


var body: some View {
    
    ZStack{

        Map(coordinateRegion: $region,
            interactionModes: MapInteractionModes.all,
            showsUserLocation: true, …
Run Code Online (Sandbox Code Playgroud)

dictionary mkannotation swift swiftui

6
推荐指数
2
解决办法
1443
查看次数

标签 统计

dictionary ×1

mkannotation ×1

swift ×1

swiftui ×1