【问题标题】:How does UIProgressView get information on animation duration?UIProgressView 如何获取动画时长的信息?
【发布时间】:2014-03-06 11:35:10
【问题描述】:

我正在开发循环进度视图,它的工作非常酷。但我想让它更灵活,所以用户可以像使用普通的UIProgressView 和NSTimer 一样使用它。我不知道如何等同于:setProgress:(float)progress animated:(BOOL)animated?现在我正在使用硬编码的值和持续时间进行测试,所以它的动画效果很好,但肯定可以通过某种方式来告知确切的持续时间值吗?

【问题讨论】:

  • 现在我对只编写我通过时间间隔的方法不感兴趣,它正在处理计时器并设置当前进度 - 除非它不能以其他方式完成

标签: ios objective-c progress-bar uiprogressview


【解决方案1】:

用CAMediaTimingFunction 得到它,我把它放在我的方法中更新CGPath

if (self.continuous) { CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; //animation.duration = 0.5; animation.fromValue = [NSNumber numberWithFloat:prevValue]; animation.toValue = [NSNumber numberWithFloat:_value]; animation.removedOnCompletion = NO; animation.fillMode = kCAFillModeForwards; animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; [self.progressLayer addAnimation:animation forKey:@"strokeEndAnimation"]; }

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2011-09-22
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多