簡體   English   中英

如何保持CAShapeLayer在其父UIView中?

[英]How to keep CAShapeLayer to be inside its parent UIView?

我有一個Custom UIView,創建了一條繞其自身軸旋轉的線。

lineLayer = [[CAShapeLayer alloc] init];

UIBezierPath *bezierPath = [UIBezierPath bezierPath];

CGFloat width = CGRectGetWidth(self.frame)/2.0f;
CGFloat height = CGRectGetHeight(self.frame)/2.0f;
CGPoint centerPoint = CGPointMake(width, height);

CGPoint addLineToPoint = CGPointMake(width, -30);

[bezierPath moveToPoint:centerPoint];
[bezierPath addLineToPoint:addLineToPoint];

lineLayer.strokeColor = [UIColor whiteColor].CGColor;

lineLayer.frame = self.bounds;
lineLayer.lineWidth = 1.0;

lineLayer.path = bezierPath.CGPath;

[self.layer addSublayer:lineLayer];

[lineLayer setHidden:YES];

現在,此視圖在情節提要中設置為UIView的父類。

當我運行Project時,可以從其父視圖的圖層中看到該線圖層。

在此處輸入圖片說明

在此圖像中,lineLayer從其父UIView中出來,並且另一個視圖是情節提要層次結構中的父視圖。

有幫助嗎???

替換此行

CGPoint addLineToPoint = CGPointMake(width,-30);

CGPoint addLineToPoint = CGPointMake(width, -height);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM