![](/img/trans.png)
[英]How can I add custom UIControl subclasses graphically in IB in Xcode 4?
[英]How Can I Define a Custom Color That Is Available Both Programmatically And In IB?
我希望能夠在一個地方定義自定義顏色,然后以編程方式和在 Interface Builder 中訪問它。 對於編碼,我可以創建一個 UIColor 擴展。 對於 IB 中的視覺設計,我可以創建自定義調色板。 同時使用兩者的最佳技術是什么?
不幸的是,你不能這樣做。
您可以定義一種顏色,您可以通過 UIColor 的擴展在代碼中訪問該顏色。 或者,您可以在 Interfact Builder 中為托盤添加顏色。
但你不能兩者兼得。
嗯...
你可以做的事情類似於 PaintCode 所做的事情。
在代碼中創建一個具有 IBOutletCollection 的對象,然后當視圖加載時,它將迭代出口並將背景顏色等設置為您喜歡的顏色。
Xcode 9 允許您在資產目錄中放置顏色。 這是 Apple 對那些希望在兩者之間同步顏色的人的回答。
從 Xcode 11 開始
使用顏色名稱創建顏色集,您可以在代碼和 Interface Builder 中通過顏色名稱訪問它們。
UIColor(named: "fooColorSet")
參考: https : //medium.com/bobo-shone/how-to-use-named-color-in-xcode-9-d7149d270a16
如果你有一個可變的顏色,你也可以創建一個 UIView 的子類:
class color01_view:UIView {
let color01:UIColor = UIColor(red: 250.0/255.0, green: 250.0/255.0, blue: 250.0/255.0, alpha: 1)
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.backgroundColor = color01
}
override init(frame: CGRect) {
super.init(frame: frame)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.