如何在 Reference Outlets 中委托 mapView

How can I make a delegate to a mapView in Reference Outlets

我从 swift 代码开始,但我无法在地图视图中创建委托。

我是这样的:

应该是这样的:

我知道这一定是一件很简单的事情,但我很难过。

最佳

如果您使用故事板执行此操作,则可以从 MapView 拖动到 UIController,如果 class 从 MapView 继承了委托选项,则应该出现委托选项。

另一种对我来说最有意义的方法是在 ViewController 中创建 MapView 对象并在 onViewDidLoad() 中手动将其实例化为 MapView.delegate = self

您可以先右键单击地图视图,然后将委托拖动到实现委托的视图控制器,在下图中,它是保存地图视图的视图控制器。

在设置委托之前需要设置视图控制器class:

但我相信,如果您有一个到视图控制器的出口连接,设置委托的更简单(也是最好)的方法是通过代码:

class ViewController: UIViewController, MKMapViewDelegate {

    @IBOutlet weak var mapView: MKMapView!

    override func viewDidLoad() {
        super.viewDidLoad()

        mapView.delegate = self
    }
}