【发布时间】:2023-03-30 06:05:01
【问题描述】:
我这里有一个相当简单的问题。基本上,我正在尝试将对象(UIImageView)从 A 点(它在情节提要中设置的位置)移动到我以编程方式定义的 B 点。
我第一次通过这个导致了这个代码
UIView.animateWithDuration(0.75, delay: 0.5, options: UIViewAnimationOptions.CurveLinear, animations: {
self.signInButton.alpha = 1
self.signInButton.center.y = 10
}, completion: nil)
但是,这段代码所做的基本上是将按钮移动到偏离中心的位置,然后再回到原来的位置。
然后我研究了 QuartzCore 来帮助我,但一切都在 Objective-C 中。我有这个方法:
func moveImage(view: UIImageView){
var toPoint: CGPoint = CGPointMake(0.0, -10.0)
var fromPoint : CGPoint = CGPointZero
var movement = CABasicAnimation(keyPath: "movement")
movement.additive = true
movement.fromValue = fromPoint
movement.toValue = toPoint
movement.duration = 0.3
view.layer.addAnimation(movement, forKey: "move")
}
但是这里的问题是movement.fromValue 不能接受CGPoint。我知道在目标 C 中有一个函数可以将 CGPoint 转换为 NSValue,但是这个函数似乎已被 Swift 弃用,我找不到其他方法。
因此我的问题是,如何将CGPoint 转换为NSValue 以使我的moveImage() 函数工作,或者有更好的方法将对象从A 点移动到B 点?
谢谢!
我在看这个问题Animate UIImage in UIImageView Up & Down (Like it's hovering) Loop
【问题讨论】:
标签: uiimageview swift ios8 quartz-core