2

私がやろうとしているのは、誰かが以下の UIAlertAction シーケンスを介して「Call Location」ボタンを押したときに、電話をロードして、コードで以前に割り当てた電話番号 (ViewDidLoad で) をダイヤルすることです。これは、この時点で持っている私の annotationView - calloutAccessory コードです。

func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
    let stores = view.annotation as! Stores
    let placeHours = stores.seasonhours
    let placeHours1 = stores.offseasonhours
    let phoneInfo = stores.phone

    let ac = UIAlertController(title: placeHours, message: placeHours1, preferredStyle: .alert)
    ac.addAction(UIAlertAction(title: "Call Location", style: .default))
    ac.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: nil))
    present(ac, animated: true)


}

これをどのようにコーディングしますか?

注:私はコーディングが初めてなので、助けていただければ幸いです。

更新:私はこれを自分で考え出しました。最初の ac.addAction 行で、これを次のように変更しました。

ac.addAction(UIAlertAction(title: "Call Location", style: .default, handler:    {action in
if let url = URL(string: "tel://\(phoneInfo)") {
     UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
})) 
4

0 に答える 0