我有一个故事板,其中包含以下内容:
ViewController —查看
— —安全区域
— —视觉效果视图
— — —视图
— — — — UILabel(名称)
— — — — UILabel(数字)
我想为VisualEffectView
设置动画,以使名称Label按比例向上移动,但Number Label保持相对静止(例如到安全区域或视图。)
到目前为止,我的代码如下:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
full_view = !full_view
UIView.animate(withDuration: 0.5, delay: 0, options: [.curveEaseOut], animations: {
self.frame = CGRect(x: self.frame.origin.x, y: (self.full_view ? 2*self.superview!.bounds.height : 3*self.superview!.bounds.height)/4, width: self.frame.width, height: self.superview!.frame.height - self.frame.height)
})
}
这可以完美地给视图添加动画效果,但是标签放错了位置。以下imgur链接显示了初始视图,实际(不需要的)视图和预期的视图。