我会使用类似于我在下面写的内容。它会在 1.5 秒内增加您的帧数(当然,您可以更改持续时间)。我不确定你用什么样的物体来塑造你的形状。您可以只使用 a 之类的东西UIView
并将其设置backgroundColor
为您想要的任何内容。
// calculate your new frame - not sure what your parameters are as you've not explained it in your question.
CGRect newFrame = CGRectMake(10, 10, 300, 40); // arbitrary values to demonstrate process...
[UIView animateWithDuration:1.5 animations:^{
// grow your rect (assuming yourShape is a UIView)
yourShape.frame = newFrame;
yourLabel.center = CGPointMake(newFrame.size.width - yourLabel.frame.size.width, yourLabel.center.y)
} completion:^(BOOL finished) {
// do anything here that needs to occur after..
}];
不确定“增加文本”(增加文本或增加字体大小)究竟是什么意思,所以我给出了一个示例,将文本保持在水平条的末尾(右侧)。UIView
这应该为试验动画提供了一个很好的起点。
递增标签更新
您需要使用 anNSTimer
来增加标签。试试这个代码。
在你的 .h
int maxNum;
NSTimer *numTimer;
在你的 .m
用它来开始你的计数。你可能想把它放在你的UIView
动画之前。
maxNum = 100; // make this whatever number you need..
// you can change the TimeInterval to whatever you want..
numTimer = [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(growNumbers:) userInfo:nil repeats:YES];
这是计时器每次触发时调用的选择器(每 0.03 秒):
- (void)growNumbers:(id)sender {
int i = self.numberLabel.text.intValue;
if (i >= maxNum) {
[numTimer invalidate];
maxNum = 0;
} else {
i++;
self.numberLabel.text = [NSString stringWithFormat:@"%i",i];
}
}