作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是iOS开发新手。当我按下秒表开始按钮时,我想显示计时器,如计数器 token 效果。我附上了图片供您引用。我已经完成了显示秒和分钟,但我不知道,如何动画自动滚动效果?我怎样才能做到这一点?
当计数器移动时,它不应该从一个数字跳到另一个数字,而应该平滑地从一个数字移动到下一个数字,就像汽油泵流量计一样。谢谢
最佳答案
我以前做过类似的事情 - 这段代码不一定干净,但它可以完成工作。
您想在 .h 文件中创建两个UILabel
:
IBOutlet UILabel *figureLabel1;
IBOutlet UILabel *figureLabel2;
然后您要创建一个 BOOL
,以便我们可以知道哪个 UILabel
对用户可见。
BOOL firstLabel;
因此,让我们想象一下,初始标签(显示数字 1)是 figureLabel1
, future 要显示的 UILabel
(显示数字 2)是 figureLabel2
。然而,当计数器加一时,figureLabel2
就会向上移动并取代 figureLabel1
的位置。然后,当 figureLabel1
隐藏时,当 figureLabel1
可见时,它会取代 figureLabel2
。
看这里:
// Check what label is showing
if (firstLabel == YES) {
// Following code the hide and move the figureLabel1
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate: self]; //or some other object that has necessary method
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
// Slowing fade out the figureLabel1
[figureLabel1 setAlpha:0];
// Move the figureLabel1 up and out of the way
[figureLabel1 setFrame:CGRectMake(20, 108, 287, 55)];
[UIView commitAnimations];
// Following code the show and move the figureLabel2
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
// Slowing fade in the figureLabel2
[figureLabel2 setAlpha:1];
// Move the figureLabel2 up and into position
[figureLabel2 setFrame:CGRectMake(20, 141, 287, 55)];
[UIView commitAnimations];
// Update BOOL for next label
firstLabel = NO;
} else {
// Exactly the same but opposite
}
正如我所说,这并不漂亮,但它显示了基本概念。祝一切顺利!
关于iphone - 使用 NSTimer 显示像汽油泵表一样动画的秒表计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17314544/
我是一名优秀的程序员,十分优秀!