1

いくつかのマーカーを持つマップで作業しており、各マーカーの画像とテキストを表示する情報ビューを作成したいと考えています。

地図

そのため、情報ボタンを押すと、情報ビューに移動します。

マップ2

私はコードにこれを持っています:

func mapView(mapView: MKMapView, annotationView: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
    if control == annotationView.rightCalloutAccessoryView {

        performSegueWithIdentifier("showInfo", sender: data)

    }
}

しかし、「場所」からデータを渡したいので、それぞれの画像を表示できます。

Swiftでこれを行う必要があります。

どうもありがとう。

4

3 に答える 3

4

このメソッドがない場合はクラスに追加してから、データを宛先ビューのデータに渡す必要があります。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "showInfo" {
        let destination = segue.destinationViewController as! YourViewController
        //this will execute before next ViewController's viewDidLoad method
        destination.data = sender
    }
}
于 2016-03-30T09:38:23.857 に答える
0

情報ボタンのコンセントを に接続しますviewcontroller。次に、次のように作成funcします。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if "YourSegue" == segue.identifier {
        // Then pass your data
    }
}
于 2016-03-30T09:42:53.283 に答える
0

prepareForSegueで関数をオーバーライドする必要がありますviewController

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if "showInfo" == segue.identifier {
           // Then pass your data
           let destController = segue.mapViewController as! YourViewController 
           destController.yourData = sender
        }
    }
于 2016-03-30T09:39:53.910 に答える