显示"加载栏"在表视图单元格中

时间:2013-03-21 18:51:30

标签: ios objective-c xcode uitableview

我已经四处寻找如何做到这一点,但除了创建自己的表格视图单元格的基础知识外,我无法弄清楚如何做到这一点。我想要做的很难描述,所以我把这张图片试着解释一下:

image

所以该节目基本上做的是在等待之后播放可能同时播放的歌曲。整个wait +歌曲在我的程序中被称为提示。每个提示都有自己的表格视图单元格,可以显示它有多少已播放。这是我正在努力的部分。我可以想到显示已播放多少的最佳方式就像在照片中一样,蓝色代表歌曲播放了多少,绿色表示等待时间已经播放了多少,整个事物代表了多少提示已经发挥。 我无法弄清楚如何创建一个表格视图单元格,我可以在其中创建一个带有可变数量的绿色/蓝色区域的动画条(b / c正在播放的歌曲)。有人可以帮忙吗?

如果其中任何一项不清楚或令人困惑,请发表评论,以便澄清。

1 个答案:

答案 0 :(得分:1)

您可以将单元格的backgroundView属性设置为UIView的自定义子类,其具有与此类似的drawRect方法:

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
    CGContextFillRect(context, rect);
    CGRect blueRect = CGRectMake(0, 0, self.bluePercentage/100.0*rect.size.width, rect.size.height);
    CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0);
    CGContextFillRect(context, blueRect);
    CGRect greenRect = CGRectMake(0, 0, self.greenPercentage/100.0*rect.size.width, rect.size.height);
    CGContextSetRGBFillColor(context, 0.0, 1.0, 0.0, 1.0);
    CGContextFillRect(context, greenRect);
}

你明白了:首先填充白色(默认背景为黑色),在其上涂上蓝色条,在蓝色条上涂上绿色条。 <{1}}和bluePercentage是您必须自行设置的属性。

此外,每次更新进度时,都必须致电redPercentage告诉单元格重绘进度条。