gpt4 book ai didi

ios - 使用 mapkit 信息按钮推送到第二个 View Controller

转载 作者:行者123 更新时间:2023-11-30 12:55:18 25 4
gpt4 key购买 nike

在我的应用程序中选择 Pin 图后,我希望信息按钮链接到下面的 View Controller 。

2nd View Controller

如果按钮从一开始就在屏幕上,但在选择图钉之前它才出现,我会知道如何执行此操作。我怎样才能实现这个?我的按钮目前简单编码如下:

    func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
if control == view.rightCalloutAccessoryView {
print("Button tapped ")
}
}

此外,如果这是 Segue,我是否能够拥有这个 View Controller ,并根据单击的信息图钉按钮更改文本和照片?

感谢您的帮助

最佳答案

如果您的注释有标题,您的 map View 将响应通过委托(delegate)方法选择注释

optional func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView)

当您选择注释时, map View 将调用此方法。您可以在指定为 map View 委托(delegate)的 View Controller 中实现此方法,并告诉您的 map View 委托(delegate)要做什么,包括执行 segue。这意味着您已启动 View Controller ,例如:

class myMapViewController: UIViewController, MKMapViewDelegate {
// Your class code starts here

}

然后在 viewDidLoad() 的某处声明 map View 的委托(delegate)是此 View Controller :

self.myMapView.delegate = self

因此,在委托(delegate)中,您可以在调用执行 segue 之前对准备工作进行编程,然后在准备 segue 中,准备目标 View Controller ,以使其对所选注释执行操作。

请注意,委托(delegate)方法为您提供了您选择的注释 View 。与此注释 View 相关的注释是通过以下方式获取的:

let theAnnotation = view.annotation

在此委托(delegate)方法中。

希望这有帮助。

关于ios - 使用 mapkit 信息按钮推送到第二个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40480699/

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