是否可以在swift(uiview,uibutton等)中进行动画对象,以便它在屏幕的左侧滑出并同时滑入屏幕的右侧,F.E的各个部分已经在左侧滑出的Uiview已经从右侧再次滑入。希望您能理解我的问题,解释这个问题有点棘手。我正在使用Xcode Swift 3.0。谢谢。
F.E.的部分已经在左侧滑出的Uiview已经从右侧再次滑入
这几乎被我滑了。您拥有一个"视图"在屏幕上的两个位置出现的唯一方法是真正有两个视图,一个在左侧,一个在右侧。
然后,您可以(正确)设置宽度群体,隐藏子视图(正确),然后动画。如果动画足够快(我的单面滑动设置为0.3秒),则用户会认为这是一个视图。
您可以使用UIView.animate()
。第一次完成后触发第二个动画。
可能实现的想法:
var container = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 200.0, height: 200.0))
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 50.0, height: 50.0))
view.center = CGPoint(x: 100, y: 100)
view.backgroundColor = UIColor.green
container.addSubview(view)
let screenWidth = CGFloat(356.0)
// animate to left
UIView.animate(withDuration: 2.0, delay: 0.0, options: [], animations: {
view.center = CGPoint(x: -view.frame.size.width, y: view.frame.origin.y)
}, completion: { (finished: Bool) in
//set view to right of screen
view.center = CGPoint(x: view.frame.size.width + screenWidth, y: view.frame.origin.y)
// animate back to center
UIView.animate(withDuration: 2.0, delay: 0.0, options: [], animations: {
view.center = CGPoint(x: 100, y: 100)
})
})