解析SwiftUI布局细节(三)地图的基本操作

      前面的几篇文章总结了怎样用 SwiftUI 搭建基本框架时候的一些注意点(和这篇文章在相同的分类里面,有需要了可以点进去看看),这篇文章要总结的东西是用地图数据处理结合来说的,通过这篇文章我们能总结到的点有下面几点:

      1、SwiftUI怎样使用UIKit的控件

      2、网络请求到的数据我们怎样刷新页面(模拟)

      3、顺便总结下系统地图的一些基本使用(定位、地图显示、自定义大头针等等)

       

解析SwiftUI布局细节(三)地图的基本操作

 

(点击地图位置会获取经纬度,反地理编译得到具体的位置信息,显示在列表中) 

 

SwiftUI怎样使用UIKit的控件

 

        我们来总结一下,SwiftUI怎么使用UIKit的控件,中间的连接就是 UIViewRepresentable,UIViewRepresentable 是一个协议。我们结合他的源码来具体看看它的内容:

@available(iOS 13.0, tvOS 13.0, *) @available(macOS, unavailable) @available(watchOS, unavailable) public protocol UIViewRepresentable : View where Self.Body == Never { /// The type of view to present. associatedtype UIViewType : UIView /// Creates the view object and configures its initial state. /// /// You must implement this method and use it to create your view object. /// Configure the view using your app's current data and contents of the /// `context` parameter. The system calls this method only once, when it /// creates your view for the first time. For all subsequent updates, the /// system calls the ``UIViewRepresentable/updateUIView(_:context:)`` /// method. /// /// - Parameter context: A context structure containing information about /// the current state of the system. /// /// - Returns: Your UIKit view configured with the provided information. func makeUIView(context: Self.Context) -> Self.UIViewType /// Updates the state of the specified view with new information from /// SwiftUI. /// /// When the state of your app changes, SwiftUI updates the portions of your /// interface affected by those changes. SwiftUI calls this method for any /// changes affecting the corresponding UIKit view. Use this method to /// update the configuration of your view to match the new state information /// provided in the `context` parameter. /// /// - Parameters: /// - uiView: Your custom view object. /// - context: A context structure containing information about the current /// state of the system. func updateUIView(_ uiView: Self.UIViewType, context: Self.Context) static func dismantleUIView(_ uiView: Self.UIViewType, coordinator: Self.Coordinator) /// A type to coordinate with the view. associatedtype Coordinator = Void func makeCoordinator() -> Self.Coordinator typealias Context = UIViewRepresentableContext<Self> }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfsfy.html