gpt4 book ai didi

uiimageview - 使用 swift 移动和动画 UIImageView

转载 作者:搜寻专家 更新时间:2023-10-31 08:11:19 28 4
gpt4 key购买 nike

我这里的问题应该是一个相当简单的问题。基本上,我试图将一个对象 (UIImageView) 从 A 点(它在 Storyboard中设置的位置)移动到我以编程方式定义的 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。我知道在 objective-c 中有一个将 CGPoint 转换为 NSValue 的函数,但是这个函数似乎在 Swift 中被弃用了,我找不到另一个这样做的方式。

因此我的问题是,如何将 CGPoint 转换为 NSValue 以使我的 moveImage() 函数工作,或者有没有更好的方法将对象从 A 点移动到 B 点?

谢谢!

我在看这个问题Animate UIImage in UIImageView Up & Down (Like it's hovering) Loop

最佳答案

使用 NSValue(CGPoint: cgpiont)而不是 NSValue.valueWithCGPoint(<#point: CGPoint#>)这在 swift 中已被弃用。 NSValue(CGPoint: cgpiont)是为可用于转换 CGPoint 的构造函数至 NSValue在 swift 中。以下代码将起作用

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 = NSValue(CGPoint: fromPoint)
movement.toValue = NSValue(CGPoint: toPoint)
movement.duration = 0.3

view.layer.addAnimation(movement, forKey: "move")
}

关于uiimageview - 使用 swift 移动和动画 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24814171/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com