【问题标题】:Change the background color of a view in swiftUI在 swiftUI 中更改视图的背景颜色
【发布时间】:2020-03-02 18:30:47
【问题描述】:

我想制作一个简单的表单并更改文本字段的背景颜色,但 Xcode 为我提供了.background(background: View) 等选项,但没有提供.background(Color())。

【问题讨论】:

  • 发布代码,而不是图片。
  • 请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中。 stackoverflow.com/help/how-to-ask

标签: ios xcode swiftui swift5 xcode11


【解决方案1】:

Color 符合View。因此,您可以像使用任何其他 View 一样使用它。您的代码的问题是您添加了 cornerRadius inside background 修饰符。应该是这样的:

TextField("Title", text: .constant("text"))
    .background(Color.red)
    .cornerRadius(5)

【讨论】:

【解决方案2】:

试试下面的代码。

struct ContentView: View {

   @State var name: String = ""

   var body: some View {

       VStack(alignment: .leading, spacing: 10) {

           Text("NAME").font(.headline)

           TextField("Enter some text", text: $name)
           .padding(.horizontal , 15)
           .frame(height: 40.0)
           .background(Color(red: 239/255, green: 243/255, blue: 244/255))
           .overlay(
               RoundedRectangle(cornerRadius: 5)
                   .stroke(Color.gray.opacity(0.3), lineWidth: 1)
           )
       }.padding(.horizontal , 15)
   }
}

【讨论】:

    【解决方案3】:
    import SwiftUI
    
    struct ContentView: View {
    
        @State var name: String = ""
    
        var body: some View {
            VStack {
                TextField("Enter some text", text: $name)
                    .background(Color.red)
            }
        }
    }
    

    【讨论】:

    • 发布答案时,最好说明您的答案如何解决提问者的问题。
    • 这也不是正确的解决方案,因为当您单击 TextField 时,文本区域将具有相同的颜色。
    猜你喜欢
    • 2022-01-25
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 2020-10-11
    • 2021-07-25
    相关资源
    最近更新 更多