1
我有我的第一次經驗CALayers
,我毫不懷疑地做了一件非常簡單的事情,非常錯誤。添加CAShapeLayer作爲不可見的子圖層
以下代碼是從UIView
擴展而來的類。我正在訪問視圖的CALayer,這很好,並嘗試根據用戶觸摸所繪製的線條來附加子圖層。 (該CGPath
)
通過設置背景明亮的橙色,我可以看到我傳遞正確的CALayer
到我的功能,但如果我嘗試並設置CAShapeLayer *line
橙色 - 我似乎沒有能夠在屏幕上看到它。
我在想象我把兩個連接在一起錯了,或者錯過了定義某個尺寸或某種東西,但是我想嘗試一下新鮮事物。任何人都可以設置我嗎?
(void)makeLineLayer:(CALayer *)layer{
CAShapeLayer *line = [CAShapeLayer layer];
//This line sets the view to orange - so I know 'layer' is pointing to the right thing
//layer.backgroundColor = [UIColor orangeColor].CGColor;
UIBezierPath *linePath=[UIBezierPath bezierPath];
[linePath moveToPoint:self.lineStart];
[linePath addLineToPoint:self.lineEnd];
[linePath setLineWidth:60.0];
line.path=linePath.CGPath;
//This below line is meant to show me where my sublayer is - I currently can't see it.
line.fillColor = [UIColor orangeColor].CGColor;
line.opacity = 1.0;
[layer addSublayer:line];
}
非常棒的地方,謝謝。知道它必須是愚蠢的,它不夠複雜的代碼是複雜的!不,圖像最終沿着這條路走,所以我需要額外的點數,但是我可以計算出複製寬度爲60的值。感謝您的幫助! – Chris