ほとんど同じことを行う Mint アプリのようなカスタム セルを作成したいと考えています。獲得データと使用データを使用して 2 つのバーを描画するにはどうすればよいですか?
ありがとう、
私はこれまでに得ました:
-(void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor * earningStartColor = [UIColor colorWithRed:15/255.0f green:227/255.0f blue:0/255.0f alpha:1.0f];
UIColor * earningEndColor = [UIColor colorWithRed:15/255.0f green:188/255.0f blue:0/255.0f alpha:1.0f];
CGRect earningRect = CGRectMake(5, 32, 60, 13);
UIBezierPath *pathE = [UIBezierPath bezierPathWithRoundedRect:earningRect
cornerRadius:3.0];
[pathE addClip];
drawGlossAndGradient(context, earningRect, earningStartColor.CGColor, earningEndColor.CGColor);
UIColor * spentStartColor = [UIColor colorWithRed:255/255.0f green:88/255.0f blue:67/255.0f alpha:1.0f];
UIColor * spentEndColor = [UIColor colorWithRed:255/255.0f green:52/255.0f blue:49/255.0f alpha:1.0f];
CGRect spentRect = CGRectMake(5, 52, 25, 13);
UIBezierPath *pathS = [UIBezierPath bezierPathWithRoundedRect:spentRect
cornerRadius:5.0];
[pathS addClip];
drawGlossAndGradient(context, spentRect, spentStartColor.CGColor, spentEndColor.CGColor);
}
ただし、addClip の後、描画が停止するため、バーが 1 つだけ表示されます。addClip を CGContextSaveGState と CGContextRestoreGState にラップすると、バーの 2 番目の角だけが丸くなります。
また、ビューをサブクラス化し、ビューに描画してから、サブビューとしてテーブルビューセルに追加し、cornerRadius を使用しようとしましたが、図面は実際にはビューの背後にあるため、長方形のバーが背後にある丸みを帯びたビュー (背景付き) として表示されます. これはもっと簡単であるべきだと思いました。