TextField ViewModifier 不符合 ViewModifier?

TextField ViewModifier not conforming to ViewModifier?

我的其中一个视图中有这段代码:

struct TextFieldClearButton: ViewModifier {

    @Binding var text: String

    func body(content: Content) -> some View {

        HStack {

            content

            if !text.isEmpty {
                Button(
                    action: { self.text = "" },
                    label: {
                        Image(systemName: "delete.left")
                            .foregroundColor(Color(UIColor.opaqueSeparator))
                    }
                )
            }
        }
    }
}

我得到两个错误:

  1. Type 'TextFieldClearButton' does not conform to protocol 'ViewModifier'
  2. Static method 'buildBlock' requires that 'Content' conform to 'View'

我怎样才能摆脱这些错误并使这个修改器编译?

看来我根本无法使用ViewModifier。也添加了超级简单的案例错误??:

SwiftUI 错误真的很奇怪。在这种情况下,错误与 Color 构造函数有关。更改 Color(UIColor.opaqueSeparator)

Color(uiColor: UIColor.opaqueSeparator)

您的项目中可能有一个名为 Content

struct/class

如果您有 Xcode 的标准深色主题,“mint”/“greenish”表示它是“Project”定义的。

当您使用 Apple 的定义时,它是 pinkish/purple,如您的屏幕截图中的 ViewModifierViewString

搜索 struct Contentclass Contentenum Content 等。在您的项目中,您会找到重复项,然后只需更改重复项的名称即可。

它也可以是通用的 <Content: SomeProtocol><Content>typealias Content

您可以通过更具体的方式来确认重复