输入“ UIColor?”没有成员“ .myCustomColor” Swift 5.0

时间:2019-12-18 20:34:05

标签: swift colors assets uicolor xcode11.3

我所有的颜色都存放在专用的颜色资产中。这使我可以定义支持“任何外观”和“黑暗外观”的命名常量。现有的颜色资产可以工作(以前已定义),但是如果我尝试定义新的颜色资产(例如myCustomColor),或者甚至复制现有的颜色资产,那么我会得到:

--------------------------------------------------------------------------- AttributeError                            Traceback (most recent call last) <ipython-input-56-2fb4a3cc425f> in <module>
      2 # img = nib.load(img_path).get_fdata()
      3 
----> 4 ext=Extractor()
      5 
      6 # `prob` will be a 3d numpy image containing probability

~/anaconda3/lib/python3.7/site-packages/deepbrain/extractor.py in
__init__(self)
     12     def __init__(self):
     13         self.SIZE = 128
---> 14         self.load_pb()
     15 
     16     def load_pb(self):

~/anaconda3/lib/python3.7/site-packages/deepbrain/extractor.py in load_pb(self)
     16     def load_pb(self):
     17         graph = tf.Graph()
---> 18         self.sess = tf.Session(graph=graph)
     19         with tf.gfile.FastGFile(PB_FILE, 'rb') as f:
     20             graph_def = tf.GraphDef()

AttributeError: module 'tensorflow' has no attribute 'Session'

样品用量:

Type 'UIColor?' has no member 'myCustomColor'

我知道我可以使用(经过新创建的颜色测试,因此没有错别字):

label.textColor = .myCustomColor

但是,我不想更改此语法或使语法混乱的其他语法。

我正在使用Xcode 11.3(11C29),并且正在使用Swift5。是否有人遇到相同的问题?

2 个答案:

答案 0 :(得分:2)

您需要在UIColor的扩展名中声明自定义颜色。

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

然后您可以使用以下颜色:

label.textColor = UIColor.myCustomColor

答案 1 :(得分:0)

这里没有“问题”。类似于苹果公司UIColor.myCustomColor的静态属性UIColor.systemRed永远不会因为将颜色集放入资产目录而神奇地出现。如果需要这样的属性,则必须显式定义它。