1
私が望む形を描くために石英を得ることに若干の問題があります。基本的に私はそうのような形状のためつもりだ:三角形のIOS石英泡
私は、丸みを帯びた泡を得ることができますが、私はそれがうまくいかない三角形に追加しようとしたとき。ここで私は通常得るものです:お時間を
感謝。
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect currentFrame = self.bounds;
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetLineWidth(context, self.BorderWidth);
CGContextSetStrokeColorWithColor(context, self.BorderColor.CGColor);
CGContextSetFillColorWithColor(context, self.FillColor.CGColor);
float pad = BorderWidth + 0.5f;
float width = currentFrame.size.width - BorderWidth - 0.5f;
float height = currentFrame.size.height - BorderWidth - 0.5f;
float rounding = BorderRadius - BorderWidth;
CGContextMoveToPoint(context,pad + TriangleSize.width, pad);
//top
CGContextAddArcToPoint(context,
width,
pad,
width,
height,
rounding);
//right
CGContextAddArcToPoint(context,
width,
height,
round(width/2.0f),
height,
rounding);
//bottom
CGContextAddArcToPoint(context,
TriangleSize.width + pad,
height,
pad,
pad ,
rounding);
//left
CGContextAddArcToPoint(context,
TriangleSize.width,
pad + TriangleSize.height*3,
width,
pad,
0);
CGContextAddLineToPoint(context,-TriangleSize.width - pad,TriangleSize.height);
CGContextAddLineToPoint(context,pad + TriangleSize.width, pad + TriangleSize.height);
CGContextAddArcToPoint(context,
pad + TriangleSize.width,
pad - TriangleSize.height,
width,
height,
rounding);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
あなたがboarderwidth、boarderradius三角形サイズ – Jarod
のために何を設定している。この参照:https://github.comを/daltoniam/GPLib-iOS/blob/master/GPLib/Views/GPBubbleView.mですが、BorderRadius = 8を使用しています。 BorderWidth = 0.5; TriangleSize = CGSizeMake(8,8); – daltoniam