2017-01-25 4 views
1

ストーリーボードのカラー値をサブクラス化せずにコードに関連付ける方法はありますか?ストーリーボードのカラー値を列挙型または構造体に関連付けます

問題は、当社の製品には異なるブランドがあることです。そこで、ボタン、テキストフィールド、ブランドごとに色が異なるラベルなど、いくつかのコントロールがあります。

私はすべてのコントロールをサブクラス化でき、@IBInspectableを使用して列挙型から色を選択できます。この列挙型は特定のブランドカラーを検索できます。しかし、この仕事をするにはあまりにも多くの場所があり、私はスケーラビリティがないと思う。

主なターゲットは、色の値を変更するための固有の場所です。これでコードやストーリーボードのビューに色が表示され、色が変わるとストーリーボードのコードと各ビューを変更する必要があります。

私は、AndroidのXMLの色のようなソリューションは、これを行うためのAppleの公式の方法はUIAppearanceプロキシである

答えて

2

をファイル見つけしようとしています。また、UIApplication.shared()を使用して色合いを設定することもできます。delegate?.window?tintColor = .red

+0

はい、ただしストーリーボードの色は表示されません –

+1

色は、残念ながらリンゴはインターフェイスビルダーで色と文字列の可変サポートを実装していません。 XCodeでカスタムカラーパレットを作成できますが、変数として使用することはできません。ストーリーボードはXMLなので、素早く静的に物事を再テーマ化する必要がある場合は、実際にテキストを見つけて置き換えるのが最も速い方法です。私はより良い答えがあったと思うが、それは動作する方法です。 –

関連する問題