0

我想以这样的方式为附加的屏幕设置动画,当屏幕出现在屏幕上时:

1) 数字将从动画0到最终值,即1- 2- 3-.... 51-52

2) 每个条形将从一条细线开始,然后向一侧延伸,直到达到规定的尺寸。

3)所有动画将同时发生。

4)如果可能的话,如何在条形下方添加阴影?

5)如何实现栏(以图形方式)?有什么例子吗?

在此处输入图像描述

4

1 回答 1

2

对于酒吧本身,使用简单的 UIView 实例。导入后<QuartzCore/QuartzCore.h>,您可以通过图层 ( view.layer) 为它们设置边框和阴影。参见CALayer:https ://developer.apple.com/library/ios/#documentation/graphicsimaging/reference/CALayer_class/Introduction/Introduction.html

borderWidth, borderColor, backgroundColor 
shadowOpacity, shadowRadius, shadowOffset, shadowColor, shadowPath

对于数字的动画,使用计时器并增加数字,直到达到实际值。嗯。像这样:

CGFloat animationDuration = 1.0;
self.targetValue = 50;
[NSTimer scheduledTimerWithTimeInterval:animationDuration/targetValue target:self selector:@selector(increaseValue:) userInfo:nil repeats:YES];

然后是这样的方法:

- (void)increaseValue:(NSTimer*)timer;
{
    self.label.text = [NSString stringWithFormat: @"%d", [self.label.text intValue]+1];

    if ([self.label.text intValue] == self.targetValue) {
        [timer invalidate];
    }
}

对于动画,只需调整帧的大小:

[UIView animateWithDuration:animationDuration animations:^{
    CGRect rect = self.barView.frame;
    rect.size.width = self.targetValue;
    self.barView.frame = rect;
}];
于 2013-04-18T13:00:29.680 回答