如何在 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
}
}
我从 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
}
}