0

私はすべての色を専用のカラー アセットに持っています。これにより、「Any Appearance」と「Dark Appearance」をサポートする名前付き定数を定義できます。既存のカラー アセットは (以前に定義された) 機能しますが、新しいもの (myCustomColor など) を定義したり、既存のものをコピーしようとすると、次のようになります。

Type 'UIColor?' has no member 'myCustomColor'

使用例:

label.textColor = .myCustomColor

私は使用できることを知っています(新しく作成された色でテストされているため、タイプミスはありません):

UIColor(named: "myCustomColor")

ただし、この構文を変更したり、コードを乱雑にする別の構文を使用したりしたくありません。

私は Xcode 11.3 (11C29) を使用しており、Swift 5 を使用しています。同じ問題を抱えている人はいますか?

4

2 に答える 2

4

の拡張機能でカスタム カラーを宣言する必要がありますUIColor

extension UIColor {
    static let myCustomColor = UIColor(named: "myCustomColor")
}

次に、この色を次のように使用できます。

label.textColor = UIColor.myCustomColor
于 2019-12-18T20:45:21.550 に答える
0

ここに「問題」はありません。UIColor.myCustomColorApple の に似た static プロパティUIColor.systemRedは、カラー セットをアセット カタログに配置したからといって、魔法のように出現することは決してありませんでした。そのようなプロパティが必要な場合は、明示的に定義する必要があります。

于 2019-12-18T20:46:06.673 に答える