2013-03-21 64 views
0

我環顧四周如何做到這一點,但除了創建自己的表視圖單元格的基礎知識,我無法弄清楚如何。我試圖做到這一點很難描述,所以我做了這個形象,試圖解釋:在表視圖單元格顯示「加載欄」

image

那麼,什麼程序通常做的就是它播放的歌曲,可以在同一時間,經過等待。這整個等待+歌曲在我的節目中被稱爲一個提示。每個提示都有自己的表格視圖單元格,顯示了它的播放量。這是我正在努力的部分。我能想到的最好的方式就是顯示播放了多少,就像在照片中一樣,藍色表示歌曲播放了多少歌曲,綠色表示播放的等待時間有多長,整個事物代表了多少的線索已經發揮。 我不知道如何製作一個表格視圖單元格,其中我可以製作一個帶有不同數量的綠色/藍色區域的動畫欄(b/c歌曲正在播放)。誰能幫忙?

如果有任何不清楚或混淆,請評論,以便我可以澄清。

+0

我想我不明白「多少等待時間已經播放」 – AMayes 2013-03-21 19:19:28

+0

@AMayes因此,Cue佔用的總時間是等待時間+歌曲的長度。條形圖表示總共使用了多少時間,綠色/藍色表示該部分時間是等待以及音樂是什麼。 – 2013-03-21 20:27:12

+0

您可以嘗試使用自定義滑塊。他們很容易定製。 – AMayes 2013-03-21 21:48:59

回答

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); 
} 

你明白了吧:用白色填充第一個(默認的背景是黑色的) ,在它上面畫藍條,在藍條上畫綠條。 bluePercentageredPercentage是您必須自行設置的屬性。

此外,每次更新進度時,您都必須致電[cell setNeedsDisplay]以告知單元重新繪製進度欄。

+0

好吧,但是傳遞給drawRect到底是什麼?另外,我查閱了Core Graphics庫,並且對CGContext的內容有點困惑。 – 2013-03-23 14:39:03

+0

另外,我如何實例化UIView? init方法調用CGRect,那麼我應該怎麼設置它? – 2013-03-23 14:46:05

+1

'cell.backgroundView = [[YourCellBackgroundViewClass alloc] init];'似乎已經足夠了。 – 2013-03-23 15:46:35

相關問題