最近使用storyboard越來(lái)越順手箩朴,很多原本使用代碼寫(xiě)的東西都喜歡交給storyboard去完成。但很多時(shí)候storyboard提供的屬性不能完全滿(mǎn)足要求驾孔,這時(shí)就需要用到storyboard提供的user defined runtime attributes功能來(lái)實(shí)現(xiàn)一些效果芍秆。
runtime attributes修改邊框?qū)挾取A角翠勉、顏色示例
上面的圖片展示了如何使用runtime attributes為控件添加邊框?qū)挾妊丁⑦吙驁A角以及邊框顏色。
這里注意一下对碌,我設(shè)置邊框顏色使用的是
layer.borderUIColor
荆虱,而不是正常應(yīng)該使用的layer.borderColor
,因?yàn)槭褂?code>layer.borderColor是不能生效的,反而將默認(rèn)的黑色邊框也給去掉了怀读。這里我分析是因?yàn)?code>layer.borderColor是CGColor
類(lèi)型诉位,而storyboard只能提供UIColor
類(lèi)型的值。那么layer.borderUIColor
是哪里來(lái)的呢愿吹,看下面的代碼吧不从。
extension CALayer {
var borderUIColor: UIColor {
get{
return UIColor(cgColor: self.borderColor ?? UIColor.clear.cgColor)
}
set(newValue){
self.borderColor = newValue.cgColor
}
}
}
borderUIColor
可以改成任意你喜歡的名字,注意代碼和storyboard里面使用的互相一致就可以了犁跪。
除了邊框?qū)傩砸酝獯幌ⅲ渌麑傩砸捕贾С郑绻恢С挚姥埽匆幌率遣皇穷?lèi)型不匹配寝优,可以使用與本文類(lèi)似的方法去處理,盡管?chē)L試吧7愣乏矾!