模仿presentViewController缓动的UIView动画

时间:2017-07-19 16:53:04

标签: ios swift uiviewanimation

我有一个从ViewController底部动画的视图,我试图让动画与默认动画相同

present(viewController, animated:true, completion:nil)

我想使用与上面代码相​​同的缓动和时序为视图设置动画。现在我正在使用它:

UIView.animate(withDuration: 0.35, delay: 0, options: .curveEaseInOut, animations: {
    self.myView.frame = newFrame
}, completion: nil) 

虽然动画并不相似,但我不知道在我的UIView动画中使用什么值来使它看起来像viewController。有谁知道什么价值可以让我接近?

1 个答案:

答案 0 :(得分:-1)

这里是示例代码,其中有一些动画,如呈现viewcontroller

var subViewNew = UIView()

在子视图中进行初始梦想设置你想要制作的子视图,如下所示

override func viewDidLoad() {
        super.viewDidLoad()
        subViewNew.frame = CGRect(x: 100,y: 100,width:self.view.frame.width - 200,height:200)
        self.subViewNew.frame.origin.y = self.view.frame.origin.y + self.view.frame.size.height
        subViewNew.backgroundColor = UIColor.gray
    }

对于视图子视图的外观,您可以像这样

UIView.animate(withDuration: 0.7, animations: {
            self.subViewNew.frame.origin.y = 300 + 20
            self.view.addSubview(self.subViewNew)
        })

解雇或隐藏它你可以像这样

UIView.animate(withDuration: 0.7, animations: {
            self.subViewNew.frame.origin.y = self.view.frame.origin.y + self.view.frame.size.height
            self.subViewNew.removeFromSuperview() //If you want then only
        })

希望这能帮到你