【问题标题】:MKMapView setregion swiftMKMapView 快速设置区域
【发布时间】:2015-06-15 08:46:14
【问题描述】:

我在 viewDidLoad 中启动了一个 MKMapView:

override func viewDidLoad() {
    super.viewDidLoad()
        .....
        let mapView = MKMapView(frame: view.bounds)
        mapView.autoresizingMask = .FlexibleHeight | .FlexibleWidth
        mapView.delegate = self
        view.addSubview(mapView)
        view.sendSubviewToBack(mapView)

还有一个按钮:

@IBAction func findMePressed(sender: AnyObject) {
     .....
    mapView.setRegion(reg, animated: true)
}

我了解该按钮不起作用,因为 MKMapView 是在 viewDidLoad 中声明的。它在与故事板链接的另一个视图中工作正常。但是在这个视图中,我必须像这样初始化它,因为自定义注释由于某种原因对我不起作用。如何将按钮链接到 viewDidLoad 初始化程序

【问题讨论】:

    标签: swift mkmapview


    【解决方案1】:

    您将 mapView 声明为局部变量,因此它仅在 viewDidLoad 方法的范围内。

    让你的 mapView 成为 viewController 的实例变量:

    class MapViewController: UIViewController, MKMapViewDelegate {
        var mapView: MKMapView
    
        override func viewDidLoad() {
            super.viewDidLoad()
                .....
            self.mapView = MKMapView(frame: view.bounds)
            self.mapView.autoresizingMask = .FlexibleHeight | .FlexibleWidth
            self.mapView.delegate = self
            view.addSubview(self.mapView)
            view.sendSubviewToBack(self.mapView)
        }
    
        ...
    
        @IBAction func findMePressed(sender: AnyObject) {
            .....
            self.mapView.setRegion(reg, animated: true)
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-11
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-13
      相关资源
      最近更新 更多