Я пытаюсь анимировать MapView (Mapbox) в зависимости от наклона iPhone. Когда угол больше 45 градусов, MapView должен анимироваться в круг с центром в нижней части, а когда угол меньше 45 градусов, MapView должен расширяться, чтобы заполнить весь экран.
Я использую анимацию с Ограничениями. Анимация не работает так, как она должна быть: GIF из анимации
Это код, который я использую:
if value > 45 {
UIView.animate(withDuration: 1.0, animations: {
self.mapView.frame = CGRect(x: self.mapViewInitialX, y: self.mapViewInitialY, width: 200, height: 200)
self.mapviewBottomConstraint.constant = 15
self.mapViewWidthConstraint.constant = 200
self.mapViewHeightConstraint.constant = 200
self.mapView.layer.cornerRadius = 100
self.mapView.layoutIfNeeded()
})
} else {
UIView.animate(withDuration: 1.0, animations: {
self.mapView.frame = CGRect(x: 0, y: 0, width: (self.mapView.superview?.bounds.width)!, height: (self.mapView.superview?.bounds.height)!)
self.mapviewBottomConstraint.constant = 0
self.mapViewWidthConstraint.constant = (self.mapView.superview?.bounds.width)!
self.mapViewHeightConstraint.constant = (self.mapView.superview?.bounds.height)!
self.mapView.layer.cornerRadius = 0
self.mapView.layoutIfNeeded()
})
}