代码之家  ›  专栏  ›  技术社区  ›  treesarecool

SwiftUI:如何设置颜色。foregroundColor()是否使用字符串?i、 e.“绿色”-->颜色。绿色

  •  -1
  • treesarecool  · 技术社区  · 3 年前

    所以在一个常量中有一个字符串“green”( 勒恩塞特。颜色 ).我想设定一个 .foregroundColor() 添加到列表中的一个符号(systemName:“folder”),使其具有与常量中写入的颜色相同的颜色( 勒恩塞特。颜色 ). 我遇到的问题是:我不知道如何转换这个常数( 勒恩塞特。颜色 )将字符串的数据类型转换为颜色的数据类型。 我已经试过了:

    1. ... .foregroundColor(Color.lernset.color)
    2. ... .foregroundColor(Color.String(lernset.color))
    3. 我还试着把常数赋给一个变量。。。但是

    什么都没用。

    [所以通常你会输入: .foregroundColor(Color.green) 但在这种情况下,我希望列表自动调整,以便颜色可以改变常量的方式( 勒恩塞特。颜色 )改变。。。

    提前感谢您的帮助

    1 回复  |  直到 3 年前
        1
  •  0
  •   lorem ipsum    3 年前

    使用

    Color(lernset.color)
    

    只有当 String 价值 lernset.color 定义为 Color Set 在里面 Assets

    Color.lernset.color
    

    Color.green
    

    参考文献a static 变量你需要这样的东西

    extension Color{
        static let yourColor: Color = Color("nameHere")
    }
    

    然后你可以打电话

    Color.yourColor
    

    “nameHere”是一个 颜色集