Ios swift中UILabel的彩色动画

Ios swift中UILabel的彩色动画,ios,swift,animation,core-animation,uicolor,Ios,Swift,Animation,Core Animation,Uicolor,我想有一个设置,其中一个UILabel填充屏幕的宽度,是红色的。当点击按钮时,我希望红色标签移到屏幕右侧,同时绿色标签从屏幕左侧进入 我能想到的唯一方法是使用两个不同的UILabel,并设置它们的动画,使其在屏幕上和屏幕上移动 我可以只使用一个UILabel,但在屏幕上固定,并在该UILabel内设置颜色更改动画,这样看起来红色已从屏幕向右移动,而绿色已从屏幕向左移动吗?据我所知,您需要使用两个单独的标签。以下是制作动画的方法: UIView.animateWithDuration(0.5, a

我想有一个设置,其中一个UILabel填充屏幕的宽度,是红色的。当点击按钮时,我希望红色标签移到屏幕右侧,同时绿色标签从屏幕左侧进入

我能想到的唯一方法是使用两个不同的UILabel,并设置它们的动画,使其在屏幕上和屏幕上移动


我可以只使用一个UILabel,但在屏幕上固定,并在该UILabel内设置颜色更改动画,这样看起来红色已从屏幕向右移动,而绿色已从屏幕向左移动吗?

据我所知,您需要使用两个单独的标签。以下是制作动画的方法:

UIView.animateWithDuration(0.5, animations: { () -> Void in

        self.redLabel.center = CGPointMake(self.redLabel.center.x + 500, self.redLabel.center.y)

        self.greenLabel.center = CGPointMake(self.redLabel.center.x + 500, self.greenLabel.center.y)

    })
您可以将绿色标签放在屏幕上与红色标签具有相同约束的同一位置,然后首先将其设置为屏幕外(在viewDidLoad中运行此代码):

在我看来,您似乎希望红色标签从屏幕上移动到屏幕的左侧,绿色标签从屏幕外移动到屏幕的左侧……以下是动画:

UIView.animateWithDuration(0.5, animations: { () -> Void in

        self.redLabel.center = CGPointMake(self.redLabel.center.x + 500, self.redLabel.center.y)

        self.greenLabel.center = CGPointMake(self.redLabel.center.x + 500, self.greenLabel.center.y)

    })
您可以随时修改动画以更改持续时间(我将其设置为0.5秒)


希望这有帮助

据我所知,您需要使用两个单独的标签。以下是制作动画的方法:

UIView.animateWithDuration(0.5, animations: { () -> Void in

        self.redLabel.center = CGPointMake(self.redLabel.center.x + 500, self.redLabel.center.y)

        self.greenLabel.center = CGPointMake(self.redLabel.center.x + 500, self.greenLabel.center.y)

    })
您可以将绿色标签放在屏幕上与红色标签具有相同约束的同一位置,然后首先将其设置为屏幕外(在viewDidLoad中运行此代码):

在我看来,您似乎希望红色标签从屏幕上移动到屏幕的左侧,绿色标签从屏幕外移动到屏幕的左侧……以下是动画:

UIView.animateWithDuration(0.5, animations: { () -> Void in

        self.redLabel.center = CGPointMake(self.redLabel.center.x + 500, self.redLabel.center.y)

        self.greenLabel.center = CGPointMake(self.redLabel.center.x + 500, self.greenLabel.center.y)

    })
您可以随时修改动画以更改持续时间(我将其设置为0.5秒)


希望这有帮助

这是可能的,但您的绿色标签只有在红色移出视图后才可见,因为我们正在尝试使用相同的UILabel。可以使用UIView animateWithDuration执行此操作。您需要使用框架来处理约束。首先,您需要从左到右设置标签的动画,直到它移动到屏幕上,在完成块中,将其帧重置为最左侧,并将其从左到右移动到屏幕上。 只需检查以下显示和隐藏视图的动画:


这是可能的,但您的绿色标签只有在红色移出视图后才可见,因为我们正在尝试使用相同的UILabel。可以使用UIView animateWithDuration执行此操作。您需要使用框架来处理约束。首先,您需要从左到右设置标签的动画,直到它移动到屏幕上,在完成块中,将其帧重置为最左侧,并将其从左到右移动到屏幕上。 只需检查以下显示和隐藏视图的动画:


嗨,丹,动画方面的帮助会很好。我有生成标签背景颜色的代码,但不确定如何设置它们的动画。我需要动画从红色变为绿色,在屏幕右侧移动10次。谢谢,当然!我可以在几分钟内把它寄给你hours@PeterGaffney我编辑了我的答案!如果你还需要什么,请告诉我!如果使用“自动布局”(默认设置),则直接设置视图位置的动画效果不可靠。一旦您执行了触发布局更新的操作,视图将恢复到其原始位置。相反,你需要将你的约束连接起来作为出口,并为约束的更改设置动画。Hi Dan关于动画的帮助将非常好。我有生成标签背景颜色的代码,但不确定如何设置它们的动画。我需要动画从红色变为绿色,在屏幕右侧移动10次。谢谢,当然!我可以在几分钟内把它寄给你hours@PeterGaffney我编辑了我的答案!如果你还需要什么,请告诉我!如果使用“自动布局”(默认设置),则直接设置视图位置的动画效果不可靠。一旦您执行了触发布局更新的操作,视图将恢复到其原始位置。相反,你需要将你的约束连接起来作为出口,并设置对约束的更改动画。谢谢,这就是重点,将你的答案和dans的答案结合起来就是工作:)谢谢,这就是重点,将你的答案和dans的答案结合起来就是工作:)