0

これを行う方法を探しましたが、独自のテーブルビューセルを作成するための基本以外に、方法がわかりません。私が説明するのが難しいことをしようとしているので、私はこの画像を作成して説明しようとしました:

画像

つまり、プログラムが基本的に行うことは、待機後に同時に可能な曲を再生することです。このwait+song全体は、私のプログラムではキューと呼ばれます。各キューには独自のテーブルビューセルがあり、それがどれだけ再生されたかを示します。これは私が苦労している部分です。どれだけ再生されたかを表示するために私が考えることができる最良の方法は、写真のように、青は曲の再生量を表し、緑は待機時間の量を表し、全体がどれだけ再生されたかを表します。キューの再生されました。緑/青の領域の量が変化するアニメーションバー(曲が再生されているb / c)を作成できるテーブルビューセルの作成方法がわかりません。誰か助けてもらえますか?

これらのいずれかが不明確または紛らわしい場合は、明確にするためにコメントしてください。

4

1 に答える 1

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

要点はわかります。最初に白で塗りつぶし(デフォルトの背景は黒)、その上に青いバーをペイントし、青いバーの上に緑のバーをペイントします。bluePercentageおよびredPercentageは、自分で設定する必要があるプロパティです。

また、進行状況を更新するたびに[cell setNeedsDisplay]、進行状況バーを再描画するようにセルに指示するために呼び出す必要があります。

于 2013-03-21T20:13:40.343 に答える