相关疑难解决方法(0)

iOS中的动画文本内容 - 相当于Android ValueAnimator

我正在开发iOS 7+应用程序,并希望动画更改UILabel的内容.我希望做这样任何图形动画像淡出的新的内容旧内容/褪色.因此iOS提供的所有标准动画功能都不能使用Layer动画或动画块(至少我是这么认为).

假设UILabel显示一些仪表值,如"200 V",此文本应更改为"400 V".该文本不应只是从"200 V"跳到"400 V",而应使用一些缓和功能计算:"200 V","220 V","240 V"......"390 V","395 V"......"400 V"

在Android中可以使用ValueAnimator轻松解决:

ValueAnimator animation = ValueAnimator.ofFloat(0f, 1f);
animation.setInterpolation(new EaseOutInterpolator());
animation.setDuration(2500);
animation.setStartDelay(500);

animation.addUpdateListener(new AnimatorUpdateListener() {
    @Override
    public void onAnimationUpate(ValueAnimator animator) {
        float currentValue = animator.getAnimatedValue.floatValue();
        label1.setText(String.format("%.2", fromValue1 + ((toValue1 - fromValue1) * currentValue)));
        label2.setText(String.format("%.2", fromValue2 + ((toValue2 - fromValue2) * currentValue)));
    ...
    }
});
animation.start();
Run Code Online (Sandbox Code Playgroud)

iOS中也有这样的东西吗?我找到了不同的解决方案,但它们都很旧(2010/11)并且最终都是使用NSTimer和自己的缓动函数手动实现这种行为.

毫无疑问,人们可以自己实现这一点,但这将非常麻烦而且不是很优雅.那么:iOS中有什么东西可以解决这个问题,或者至少有方便的第三方实现吗?

非常感谢你!

animation ios

14
推荐指数
1
解决办法
1216
查看次数

在Swift中动画自定义UIView属性

所有!

我使用CoreGraphics外观和更新创建了一个循环进度视图,如下所示:

50% 在此输入图像描述 75% 在此输入图像描述

该类是一个UIView类,它有一个名为"progress"的变量,用于确定填充了多少圆.

它运行良好,但我希望能够对progress变量进行动画处理,以使条形图平滑动画.

我从无数的例子中读到,我需要有一个CALayer类和View类,我已经制作了它,但它根本没有动画.

两个问题:

  1. 我可以保留我绘制的图形CoreGraphics,还是需要以某种方式重绘它CALayer
  2. 我当前(尝试过的)解决方案在底部崩溃:anim.fromValue = pres.progress.这是怎么回事?

    class CircleProgressView: UIView {
        @IBInspectable var backFillColor: UIColor = UIColor.blueColor()
        @IBInspectable var fillColor: UIColor = UIColor.greenColor()
        @IBInspectable var strokeColor: UIColor = UIColor.greenColor()
    
        dynamic var progress: CGFloat = 0.00 {
            didSet {
                self.layer.setValue(progress, forKey: "progress")
            }
        }
    
        var distToDestination: CGFloat = 10.0
        @IBInspectable var arcWidth: CGFloat = 20
        @IBInspectable var outlineWidth: CGFloat = 5
    
        override class func …
    Run Code Online (Sandbox Code Playgroud)

animation calayer uiview ios

3
推荐指数
1
解决办法
4037
查看次数

标签 统计

animation ×2

ios ×2

calayer ×1

uiview ×1