gpt4 book ai didi

ios - 在 iOS 中创建动画进度条

转载 作者:行者123 更新时间:2023-12-01 19:26:04 26 4
gpt4 key购买 nike

我正在尝试为 iPad 应用程序制作自定义动画条形图(即,激活时条形高度增加到设置水平)。我对 iOS 开发很陌生,我只想获得有关如何处理此任务的反馈。

我正在尝试解决 this 中的答案条目,我想知道我从这一点开始是否正确。

最佳答案

如果你只想要一个实心条,你可以创建一个你需要的大小和位置的 UIView,设置它的背景颜色,然后将它添加到你的 View 中。这是不错的编码,使用 UIView 绘制实心矩形并不丢人。 :]

对于更复杂的图形,您可能希望创建 UIView 的自定义子类并覆盖其 drawRect 消息以进行一些自定义绘图。例如:

- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 4.0);
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 0, 1.0); // opaque yellow
CGContextMoveToPoint(context, x1, y1); // for suitable definition of x1,y1, etc
CGContextAddLineToPoint(context, x2, y2);
CGContextStrokePath(context);
}

或您可能想做的任何其他 CGContext* 类型的绘图(例如饼图、折线图等)。

要为通过添加具有背景颜色的 UIView 创建的栏设置动画,请在动画开始时粘贴以下内容:
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];
self.startTime = [NSDate date];

然后添加以下消息(注意:栏会向上增长)。
- (void) onTimer:(NSTimer*)firedTimer
{
float time = [self.startTime timeIntervalSinceNow] * -1;
if (time>kMaxTime)
{
[timer invalidate];
timer = nil;
time = kMaxTime;
}
int size = time * kPixelsPerSecond;
myBar.frame = CGRectMake(x, y - size, width, size);
}

关于ios - 在 iOS 中创建动画进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7592340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com