2015-08-18 4 views
0

У меня есть представление, которое содержит как MKMapView, так и UIImageView. MKMapView позиционируется через ограничения, установленные при его автоматическом выравнивании. Для представления изображения я хотел бы программно поместить центр изображения по центру изображения. Вот что я пробовал:Центр UIImageView над 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() 
    } 
} 

Этот код не меняет положение изображения. Как я могу это исправить?

ответ

1

Попробуйте то же код в поле ниже метода вместо viewDidLoad()

override func viewDidLayoutSubviews() { 

} 

ИЛИ

Добавить эту линию для просмотра изображений,

centerPinImageView.setTranslatesAutoresizingMaskIntoConstraints(true) 

Надеется, что это может помочь вам.

0

Если вы используете XIB-файл, почему бы вам не убедиться, что MapView и ImageView являются братьями и сестрами, а затем установить центральные ограничения для ImageView в соответствии с параметрами MapView?

+0

Как это сделать? – Max

+0

ctrl + перетащить изображение на карту. –

Смежные вопросы