【问题标题】:How to set the background color of a swiftui to lightGray?如何将swiftui的背景颜色设置为lightGray?
【发布时间】:2020-03-27 16:51:43
【问题描述】:

我目前正在尝试将 SwiftUI 中文本字段的背景颜色设置为浅灰色。它不工作

我的代码是这样的

            TextField("Enter Your Email", text: $username)
            .background(Color.lightGray)

知道它有什么问题吗?当我只使用“灰色”时它可以工作,但我需要颜色比那个更亮。我在 swift 中查找了 lightGray,它说它是一种颜色。

【问题讨论】:

    标签: swift swiftui swift5.1


    【解决方案1】:

    您可以通过将.padding() 添加到TextField 然后使用UIColor.lightGray 来设置背景。不需要设置.padding(),但是在设置背景颜色时它看起来更原生一些。

    TextField("Enter Your Email", text: $text)
        .padding()
        .background(Color(UIColor.lightGray))
    

    【讨论】:

    • 是的,但我需要它是浅灰色的,这是我的问题。我知道如何使它变灰,但 lightGray 不起作用
    • @user10511525 我建议单独提问,而不是在 cmets 中提问。 stackoverflow.com/a/30379166/264802
    【解决方案2】:

    Color中没有lightGray颜色,但可以使用.background(Color.init(UIColor.lightGray))

    【讨论】:

    • 非常感谢!我花了几个小时搜索,但没有解决方案。
    • @fuzz,我在编辑之前看到了您的答案,并且还有另一个代码。但比你编辑它,就在我写完我的解决方案之后
    【解决方案3】:

    也可以使用.background(Color(.systemGray6))

    【讨论】:

    • 这也是 SwiftUI 使用 InsetGroupedListStyle() 的列表视图的默认颜色
    【解决方案4】:

    我有时也会像这样调整灰色的颜色:

    .background(
        Color.gray
            .brightness(0.4)
    )
    

    .background(
        Color.gray
            .opacity(0.1)
    )
    

    【讨论】:

    • 设置亮度是我需要的!
    猜你喜欢
    • 2019-11-02
    • 2019-12-21
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 2014-11-15
    相关资源
    最近更新 更多