我有一个同时包含MKMapViewUIImageView的视图。 MKMapView通过对其自动对齐设置的约束进行定位。对于图像视图,我想以编程方式将图像的中心定位在图像视图的中心上。这是我尝试过的:

class MyViewController: UIViewController {
    @IBOutlet weak var mapView: MKMapView!
    @IBOutlet weak var centerPinImageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        centerPinImageView.bounds = mapView.bounds
        centerPinImageView.center = mapView.center
        centerPinImageView.frame = mapView.frame
        centerPinImageView.setNeedsDisplay()
    }
}


此代码不会更改图像视图的位置。我怎样才能解决这个问题?

最佳答案

在下面的方法中尝试相同的代码,而不是viewDidLoad()

override func viewDidLayoutSubviews() {

}


要么

添加此行以查看图像,

centerPinImageView.setTranslatesAutoresizingMaskIntoConstraints(true)


希望对您有所帮助。

10-08 07:46