在Storyboard中设置borderColor
生活随笔
收集整理的這篇文章主要介紹了
在Storyboard中设置borderColor
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
經常使用Storyboard的童鞋們應該比較清楚怎樣設置一個View在runtime中的屬性,比方說layer.cornerRadius,layer.borderWidth等。基本上大多數屬性都能直接在Keypath中進行設置,除了顏色相關的屬性。
辦法總是有的,有的童鞋會向惡勢力低頭,使用代碼。
但是,除了使用代碼以外,我們可以對UIView或者CALayer進行擴展,這是我從SO上找到的答案,通過extension為UIView或者CALayer添加一個UIColor類型的屬性,然后在keypath中設置該屬性即可。
UIView版:
// 除了設置color以外,還設置了其他幾個屬性,就避免keypath要寫長 extension UIView { var cornerRadius: CGFloat { get { return layer.cornerRadius } set { layer.cornerRadius = newValue layer.masksToBounds = newValue > 0 } } var borderWidth: CGFloat { get { return layer.borderWidth } set { layer.borderWidth = newValue } } var borderColor: UIColor? { get { return UIColor(cgColor: layer.borderColor!) }set { layer.borderColor = newValue?.cgColor } } } 復制代碼CALayer版:
extension CALayer { var borderColorFromUIColor: UIColor { get { return UIColor(CGColor: self.borderColor!) } set { self.borderColor = newValue.CGColor } } } 復制代碼參考鏈接:
轉載于:https://juejin.im/post/5a30e1c56fb9a0450a675695
總結
以上是生活随笔為你收集整理的在Storyboard中设置borderColor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vbs打开网页并全屏
- 下一篇: 2010计算机系助学金,计算机系贫困生助