2016-04-21 52 views
1

首先,我正在使用swift。其次,我所做的CALayer的擴展使用用戶定義的運行時屬性獲取一輪按鈕

extension CALayer 
{ 
    func borderUIColor() -> UIColor? { 
     return borderColor != nil ? UIColor(CGColor: borderColor!) : nil 
    } 

    func setBorderUIColor(color: UIColor) { 
     borderColor = color.CGColor 
    } 
} 

,這裏是這個結果屬性

enter image description here

結果:

enter image description here

我得到那些角落き尖峯的哪些圖層屬性可以幫助我。我是否移動界限或處理內容或其他內容?

+0

你可以嘗試確保剪輯子視圖複選框被選中嗎? – sikhapol

回答

1

與計算性能更換您的擴展方法,像這樣:

extension CALayer 
{ 
    var borderUIColor(): UIColor? { 
     get { 
      return borderColor 
     } 

     set { 
      borderColor = borderUIColor 
     } 
    } 
} 

正如你所看到的,你真的不需要擴展在所有 - 只是使用層的borderColor。將layer.borderUIColor運行時屬性替換爲layer.borderColor,並且爲獲得最佳效果,請將layer.masksToBounds作爲true

+0

我不能使用layer.borderColor直接的方式,它是由IB不支持的類型,這是我已閱讀,並使用此擴展的邊界顏色工作,只是我不想要可見的邊緣尖峯 –

+0

'layer.borderColor'是'CGColor',而不是'UIColor',這可能就是你所說的「不支持的類型」。但是,當您在用戶定義的運行時屬性中使用它時,您可以使用顏色選擇器。 – NRitH

+0

謝謝。 layer.masksToBounds工作,我會學習它是什麼意思.and layer.borderColor工作我也刪除了擴展名。 –

相關問題