просмотр анимации снизу вверх

#ios #swift4

#iOS #swift4

Вопрос:

Я пытаюсь анимировать представление, значит, нужно медленно увеличивать высоту представления до определенной высоты снизу.Я попробовал анимацию, но она анимируется снизу вверх.Я этого не хочу.Если кто-нибудь поможет мне сделать это, было бы здорово.Заранее спасибо.

 extension UIView{
    func animShow(){
        UIView.animate(withDuration: 2, delay: 0, options: [.curveEaseIn],
                       animations: {
                        self.center.y -= self.bounds.height
                        self.layoutIfNeeded()
        }, completion: nil)
        self.isHidden = false
    }
    func animHide(){
        UIView.animate(withDuration: 2, delay: 0, options: [.curveLinear],
                       animations: {
                        self.center.y  = self.bounds.height
                        self.layoutIfNeeded()

        },  completion: {(_ completed: Bool) -> Void in
            self.isHidden = true
        })
    }
}
  

Комментарии:

1. Для нас было бы лучше, если бы вы дали какой-нибудь код, который вы пробовали!

2. Я дал код. При этом вид анимируется от центра. но мне нужно, чтобы снизу до любой высоты, заданной для просмотра

3. Перед анимацией self.bounds. высота = 0. В анимации измените высоту на значение.

4. Какова начальная frame часть view того, что вы хотите анимировать?

5. @axel, высота просмотра должна быть 300, она должна быть снизу

Ответ №1:

Ваши extension функции работают нормально. В viewDidLoad установите рамку анимированного представления, как в следующем примере frame:

 viewToAnimate.frame = CGRect(x: 0, y: view.bounds.height, width: 100, height: 300)
  

и в вашем viewDidAppear триггере анимация:

 viewTotAnimate.animShow()
  

Это должно дать вам желаемую анимацию снизу вверх.