如何在视图控制器中水平和垂直居中MKMapView?

时间:2017-12-30 21:26:20

标签: ios xcode mapkit

我试图在视图控制器中水平和垂直居中MKMapView:

enter image description here

每当我尝试使用自动布局约束时,运行应用程序时地图就会消失。有没有办法以编程方式居中,以便它位于视图控制器的中心,并且不会消失。

地图中心的图标只是一个按钮,我将其用作标记,向用户显示如果他们点击下一个按钮,他们将标记的地图部分。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

像这样以编程方式添加它,也要小心将它插入标记

下面
    lazy var myMapView = MKMapView()
    myMapView.delegate = self
    self.view.addSubview(myMapView)
    myMapView.translatesAutoresizingMaskIntoConstraints = false
    NSLayoutConstraint(item:myMapView, attribute: NSLayoutAttribute.centerX, relatedBy: NSLayoutRelation.equal, toItem: self.view, attribute: NSLayoutAttribute.centerX, multiplier: 1, constant: 0).isActive = true
    NSLayoutConstraint(item:myMapView, attribute: NSLayoutAttribute.centerY, relatedBy: NSLayoutRelation.equal, toItem: self.view, attribute: NSLayoutAttribute.centerY, multiplier: 1, constant: 0).isActive = true
    NSLayoutConstraint(item:myMapView, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: self.view, attribute: NSLayoutAttribute.width, multiplier: 0.7, constant: 0).isActive = true
    NSLayoutConstraint(item:myMapView, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: self.view, attribute: NSLayoutAttribute.height, multiplier: 0.5, constant: 0).isActive = true