如何通过动画移动视图?

时间:2016-04-13 11:16:45

标签: ios swift webview core-animation

在我的应用程序中,我实现了webview,在该webview下我有一个视图,我希望通过动画来移动该视图,就像在Safari中一样。

这是我的代码:

func scrollViewWillBeginDragging(scrollView: UIScrollView) {
    if scrollView.panGestureRecognizer.translationInView(scrollView.superview).y > 0 {
        // scrolls down
        print("UP")
        viewbottom.hidden = false
        viewHieght.constant = 45
    } else {
        print("DOWN")
        viewbottom.hidden = true
        viewHieght.constant = 0
    }
}

在这段代码中,我在向下滚动时隐藏了视图,但我想像Safari一样慢慢地向下移动它。那我怎么能这样做呢?

2 个答案:

答案 0 :(得分:2)

layoutIfNeeded()属性与animateWithDuration

一起使用
   UIView.animateWithDuration(0.2, animations: { () -> Void in
        viewHieght.constant = 45
        self.view.layoutIfNeeded()
   })

答案 1 :(得分:0)

viewHeight.constant = max(0, min(45, scrollView.panGestureRecognizer.translationInView(scrollView.superview).y))

这应该使视图随手势移动但最小为0且最大为45