如何为部分离屏的 UIView 设置动画
How to animate a UIView partially offscreen
我有一个矩形 UIView,位于其 parent 视图(即屏幕的整个高度和宽度)的底部,我想在响应一个事件。我尝试了以下方法,但它只是将原点向上移动 100 并动画回到它开始的位置:
UIView.animate(withDuration: 1.0,
delay: 1.2,
options: .curveEaseIn,
animations: {
self.subview.frame.origin.y += 100
}, completion: {})
我也试过设置顶部约束并更改它,但它只会挤压视图并且它是 children。
为什么要使用 self.view?它应该是你的子视图(rectangleView)。
UIView.animate(withDuration: 1.0,
delay: 1.2,
options: .curveEaseIn,
animations: {
self.subview.frame.origin.y += 100
}, completion: {})
这是奥特莱斯
@IBOutlet weak var topConstraint: NSLayoutConstraint!
@IBOutlet weak var testview: UIView!
将此动画块添加到您要在按钮操作或用户交互时设置动画的位置。
self.topConstraint.constant += 100
UIView.animate(withDuration: 5.0,
delay: 10,
options: .curveEaseIn,
animations: {
self.testview.layoutIfNeeded()
}, completion: nil)
我有一个矩形 UIView,位于其 parent 视图(即屏幕的整个高度和宽度)的底部,我想在响应一个事件。我尝试了以下方法,但它只是将原点向上移动 100 并动画回到它开始的位置:
UIView.animate(withDuration: 1.0,
delay: 1.2,
options: .curveEaseIn,
animations: {
self.subview.frame.origin.y += 100
}, completion: {})
我也试过设置顶部约束并更改它,但它只会挤压视图并且它是 children。
为什么要使用 self.view?它应该是你的子视图(rectangleView)。
UIView.animate(withDuration: 1.0,
delay: 1.2,
options: .curveEaseIn,
animations: {
self.subview.frame.origin.y += 100
}, completion: {})
这是奥特莱斯
@IBOutlet weak var topConstraint: NSLayoutConstraint!
@IBOutlet weak var testview: UIView!
将此动画块添加到您要在按钮操作或用户交互时设置动画的位置。
self.topConstraint.constant += 100
UIView.animate(withDuration: 5.0,
delay: 10,
options: .curveEaseIn,
animations: {
self.testview.layoutIfNeeded()
}, completion: nil)