ios – UILabel的动画文字更改

ios – UILabel的动画文字更改,第1张

概述我想在UILabel中动画文字更改. 例如:旧文本向上移动,新文本从底部移动. 我已经意识到我需要标签.一个是旧的,一个是新的文本.第二个UILabel位于第一个.然后两个动画. 但是,如果在第一个标签上移动超过框架的顶部,那么您如何切断第一个标签? 使用UIView扩展 您不需要多个标签.您可以使用单个标签进行动画制作:   – 利用内置的CALayer动画和UIView扩展   – 在故事板中 我想在UILabel中动画文字更改.

例如:旧文本向上移动,新文本从底部移动.

我已经意识到我需要标签.一个是旧的,一个是新的文本.第二个UILabel位于第一个.然后两个动画.

但是,如果在第一个标签上移动超过框架的顶部,那么您如何切断第一个标签?

解决方法 使用UIVIEw扩展

您不需要多个标签.您可以使用单个标签进行动画制作:
– 利用内置的CALayer动画和UIVIEw扩展
– 在故事板中,将UILabel放在UIVIEw中,并带有Clip SubvIEws标志(脚注).
– pushTransition适用于大多数UIVIEw

扩展

// Usage: insert vIEw.pushTransition right before changing contentextension UIVIEw {    func pushTransition(_ duration:CFTimeInterval) {        let animation:CATransition = CATransition()        animation.timingFunction = camediatimingFunction(name:            kcamediatimingFunctionEaseInEaSEOut)        animation.type = kCATransitionPush        animation.subtype = kCATransitionFromtop        animation.duration = duration        layer.add(animation,forKey: kCATransitionPush)    }}@H_404_20@  

Swift 2及更早版本(请参阅Steve Baughman的评论):使用self.layer.addAnimation(animation,forKey:kCATransitionPush)

pushTransition调用

if let aLabel = label {    aLabel.pushTransition(0.4)    aLabel.text = "\(count)"    count += 1}@H_404_20@  

3.在行动

您甚至可以控制曲线,持续时间和方向†.

(†)剪切是预期效果的重要步骤.

►在GitHub查找此解决方案,并在Swift Recipes上查看更多详细信息.

总结

以上是内存溢出为你收集整理的ios – UILabel的动画文字更改全部内容,希望文章能够帮你解决ios – UILabel的动画文字更改所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1108526.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存