iOSは円角矢印表示を実現します。
APPでチャットのような内容の背景図を実現するには、円角と矢印を描く必要があります。多くの人が絵を使うことを選んでいますが、ビューで内容を制約するレイアウトをしていると、矢印のずれ量が正確に分かりません。CGContectRefを利用してどのように描きますか?
まず効果図を見てみましょう。
コードの実装:
まず効果図を見てみましょう。
コードの実装:
- (void)drawRect:(CGRect)rect {
float lw = 2; //
float aw = 4;//
float ah = 5;//
float r = 3;//
// , x2?
// , 。
float w = self.frame.size.width - lw;//
float h = self.frame.size.height - lw;//
//
CGContextRef context = UIGraphicsGetCurrentContext();
//
CGContextSetLineWidth(context, lw);
//
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
//
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextMoveToPoint(context, 0, lw); //
CGContextAddArcToPoint(context, w, lw, w, r, r); //
CGContextAddArcToPoint(context, w , h, w-r, h, r); //
CGContextAddArcToPoint(context, aw, h, aw, h-r, r); //
CGContextAddLineToPoint(context, aw, ah); //
CGContextAddLineToPoint(context, 0, lw); //
CGContextDrawPath(context, kCGPathFillStroke); //
// 。
[super drawRect:rect];
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。