iOS UIBezierPath+CAShapeLayer.md

構(gòu)造各種各樣的圖形? UIBezierPath(用來指定繪制圖形路徑)和CAShapeLayer(根據(jù)路徑繪制圖形)

UIBezierPath

  • 添加直線
- (void)addLineToPoint:(CGPoint)point;
  • 添加二次貝賽爾曲線
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
image.png
  • 三次貝賽爾曲線
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 
controlPoint2:(CGPoint)controlPoint2;
兩個喵點(diǎn)

繪制三個邊的矩形

//矩形框.
CGFloat beginX = 60;
CGFloat beginY = 200;
CGFloat lineWidth = 3;

CGFloat horizontalLineWidth = 230;
CGFloat endX = beginX+horizontalLineWidth+lineWidth;

CGFloat verticalLineHeight = 100;
CGFloat endY = beginY+verticalLineHeight+2*lineWidth;



_trackLayer = [CAShapeLayer layer];
[self.contentImgView.layer addSublayer:_trackLayer];
_trackLayer.fillColor = [UIColor clearColor].CGColor;
_trackLayer.strokeColor = [UIColor redColor].CGColor;
_trackLayer.opacity = 1.0f;
_trackLayer.lineCap = kCALineCapRound;//路徑的終點(diǎn)形狀.
_trackLayer.lineJoin = kCALineJoinRound;//路徑的連接點(diǎn)形狀
_trackLayer.lineWidth = lineWidth;

//這里僅僅設(shè)置好路徑即可. 其他的屬性如lineWidth、lineCapStyle等可通過CAShapeLayer設(shè)置
_bezierPath = [UIBezierPath bezierPath];
/*
 _bezierPath.lineWidth = lineWidth;
 _bezierPath.lineCapStyle = kCGLineCapRound;
 _bezierPath.lineJoinStyle = kCGLineJoinRound;
 通過CAShapeLayer設(shè)置
 */
[_bezierPath moveToPoint:CGPointMake(beginX, beginY)];
[_bezierPath addLineToPoint:CGPointMake(beginX+horizontalLineWidth, beginY)];
[_bezierPath addQuadCurveToPoint:CGPointMake(endX, beginY+lineWidth) controlPoint:CGPointMake(endX, beginY)];
[_bezierPath addLineToPoint:CGPointMake(endX, endY-lineWidth)];
[_bezierPath addQuadCurveToPoint:CGPointMake(endX-lineWidth, endY) controlPoint:CGPointMake(endX, endY)];
[_bezierPath addLineToPoint:CGPointMake(beginX, endY)];
_trackLayer.path = _bezierPath.CGPath;
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容