swift如何将'CGRect(x:400,y:500`更改为存储变量

swift如何将'CGRect(x:400,y:500`更改为存储变量,swift,cgrect,Swift,Cgrect,我正在校正一个函数来设置动画,我正在给它传递一个UIImageView(我将在整理完这一点后给它传递x和y) 如何更改CGRect(x:400,y:500 如果我将CGRect(x:400,y:500更改为CGRect(x:xdis,y:ydis 我在调用中得到构建失败的额外参数“宽度” 但它现在运行得很好 func UpAndDown(thingToAnimate:UIImageView) { UIView.animateWithDuration(5, delay: 0,

我正在校正一个函数来设置动画,我正在给它传递一个UIImageView(我将在整理完这一点后给它传递x和y) 如何更改CGRect(x:400,y:500

如果我将
CGRect(x:400,y:500
更改为
CGRect(x:xdis,y:ydis
我在调用中得到构建失败的额外参数“宽度” 但它现在运行得很好

    func UpAndDown(thingToAnimate:UIImageView)
  {
    UIView.animateWithDuration(5, delay: 0, options: .CurveEaseOut, animations: {
        let xdis = 30
        let ydis = 20
        thingToAnimate.frame = CGRect(x: 400, y:500 , width: thingToAnimate.frame.width, height: thingToAnimate.frame.height)

    }, completion: { finished in
        println("we moved")
})

这可能是因为
xdis
ydis
属于
Int
类型,而
CGRect
需要类型
CGFloat
作为参数。因此,您需要将
xdis
ydis
设置为
CGFloat
类型,如下所示:

let xdis: CGFloat = 30

嗨,谢谢你,我试过双打,没想到会有花球,现在我要同时看一下通过CG花球,再次谢谢