您可以将细胞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);
}
你明白了吧:用白色填充第一个(默认的背景是黑色的) ,在它上面画蓝条,在蓝条上画绿条。 bluePercentage
和redPercentage
是您必须自行设置的属性。
此外,每次更新进度时,您都必须致电[cell setNeedsDisplay]
以告知单元重新绘制进度栏。
我想我不明白“多少等待时间已经播放” – AMayes 2013-03-21 19:19:28
@AMayes因此,Cue占用的总时间是等待时间+歌曲的长度。条形图表示总共使用了多少时间,绿色/蓝色表示该部分时间是等待以及音乐是什么。 – 2013-03-21 20:27:12
您可以尝试使用自定义滑块。他们很容易定制。 – AMayes 2013-03-21 21:48:59