ios – UILabel的动画文字更改
2020年01月23日
作者:佚名
我想在UILabel中动画文字更改.
例如:旧文本向上移动,新文本从底部移动.
我已经意识到我需要标签.一个是旧的,一个是新的文本.第二个UILabel位于第一个.然后两个动画.
但是,如果在第一个标签上移动超过框架的顶部,那么您如何切断第一个标签?
解决方法
使用UIView扩展
您不需要多个标签.您可以使用单个标签进行动画制作:
– 利用内置的CALayer动画和UIView扩展
– 在故事板中,将UILabel放在UIView中,并带有Clip Subviews标志(脚注).
– pushTransition适用于大多数UIView
扩展
// Usage: insert view.pushTransition right before changing content extension 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) } }
Swift 2及更早版本(请参阅Steve Baughman的评论):使用self.layer.addAnimation(animation,forKey:kCATransitionPush)
pushTransition调用
if let aLabel = label { aLabel.pushTransition(0.4) aLabel.text = "(count)" count += 1 }
3.在行动
您甚至可以控制曲线,持续时间和方向†.
(†)剪切是预期效果的重要步骤.
►在GitHub查找此解决方案,并在Swift Recipes上查看更多详细信息.
以上是来客网为你收集整理的ios – UILabel的动画文字更改全部内容,希望文章能够帮你解决ios – UILabel的动画文字更改所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。