1

私の目標は、UILabel左上隅が赤い (一辺が 10 ~ 15 ポイントの目に見える三角形) を作成することです。どうすればいいですか?

and をサブクラス化UILabelしてオーバーライドしようとしましdrawRectたが、成功しませんでした。赤いコーナーが得られなかっただけでなく、label.textオーバーライドしないと表示されていたものも失われましたdrawRect

-(void) drawRect: (CGRect) rect
{

CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextBeginPath(ctx);
CGContextMoveToPoint(ctx,0,0);
CGContextMoveToPoint(ctx,10,0);
CGContextMoveToPoint(ctx,0,10);
CGContextClosePath(ctx);
CGContextSetRGBFillColor(ctx,50,0,0,1);
CGContextFillPath(ctx);

}

ありがとう!

ニコラ

Ps作成したいラベルの画像を追加したかったのですが、追加するには少なくとも10ポイントの評判が必要です:(

4

1 に答える 1

1

いつものように、使用している関数のドキュメントを読むだけで十分です。代わりに仮定を行いましたが、それは間違っていることが判明しました (驚くことではありません)。

この関数は、描画せずCGContextMoveToPoint()に新しいサブパスを開始します。線を描画したい場合は、...まあ...線を描画する関数を使用します。

CGPoint points[] = {
    CGPointMake(0, 0),
    CGPointMake(10, 0),
    CGPointMake(0, 10),
    CGPointMake(0, 0)
};
CGContextAddLines(ctx, points, sizeof(points) / sizeof(points[0]));
于 2013-03-01T14:40:01.767 に答える