У меня есть mapView для моего ViewController в раскадровке.Он имеет 4 ограничения (Высота равна: 300, выровнять трейлинг по: Безопасная зона, выровнять, Ведущий к: Безопасная зона, Выровнять по: Безопасная зона. Я создал tapGestureRecognizer для своего просмотра карты. Я хочу изменить размер отображения карты на полный экран, когда пользователь нажмет накарта.
private func setupMapView() {
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(mapTouchAction(gestureRecognizer:)))
mapView.addGestureRecognizer(gestureRecognizer)
}
@objc func mapTouchAction(gestureRecognizer: UITapGestureRecognizer) {
}
Я пытался изменить ограничение высоты для высоты экрана, но это не то, что мне нужно (представление располагается в центре экрана, а затем его изменение размера, это не то, что я ищудля) Я использовал этот код в моей mapTouchAction (). Я хочу, чтобы мой вид изменил размеры с анимацией до нижнего вида (высота экрана). Как я могу добиться этого? Должен ли я использовать CGAffineTransform или, может быть, есть другой способ? Любые идеи?
for constraint in self.mapView.constraints {
if constraint.identifier == "mapViewHeightConstraintID" {
constraint.constant = UIScreen.main.bounds.height
}
}
UIView.animate(withDuration: 2, animations: {
self.mapView.layoutIfNeeded()
})