Анимация UIView на ходу - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь анимировать 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()
        })
    }
...