2016-11-25 38 views
0

我有以下代碼繪製到CALayer子類的上下文中。context.Path返回無

override func draw(in con: CGContext) { 

    // super.draw(in: con) //with/out makes no diff 

     let endAng = CGFloat(Float.pi * 2) 

     con.addArc(center: position, 
       radius: 30, 
       startAngle: 0, 
       endAngle: endAng, 
       clockwise: false) 
     con.setStrokeColor(UIColor.red.cgColor) 
     con.setLineWidth(CGFloat(thickness/5)) 
     con.strokePath() 


     self.path = con.path 

在最後一行,我想,當用戶進入另一種模式來保存路徑做更多的繪圖用它。但assignement後self.path == nil

的文檔簡單地說:

返回從圖形上下文中的當前路徑信息建立路徑對象。

爲什麼,如果我剛剛添加路徑組件到我的CALayer子類的上下文是路徑getter返回一個零路徑?這裏的文檔不幫我調試。

因此,像addArc這樣的所有繪圖函數都會將這些圖形添加到當前路徑中(而且我的確看到它們在我的圖層中呈現),但在下一行查詢當前上下文路徑時,它是零?

回答