小编Rod*_*ata的帖子

SwiftUI:如何为文本添加自定义修饰符

到目前为止,我能够为视图编写自定义修饰符;然而,当我试图保持我的代码 DRY 时,我试图为 TextFields 添加一个自定义修饰符。视图修饰符非常适用于以下内容:

struct sampleModifier : ViewModifier {
    var height: CGFloat? = 100
    func body(content: Content) -> some View {
        content
            .frame(height: height)
            .background(Color.white)
            .border(Color.gray, width: 0.5)
            .shadow(color: Color.black, radius: 15, x: 0, y: 10)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用诸如font等修饰符时,它显示了很多错误。我明白他们可能需要更具体,而不是符合TextFieldStyleModifier,但我不知道如何使它工作。我试图这样做但没有成功:

struct TitleModifier : TextFieldStyleModifier {
    func body(content: TextFieldStyle) -> some View {
        content
            .font(.custom("Open Sans", size: 18))
            .color(Color.green)

    }
}
Run Code Online (Sandbox Code Playgroud)

这显然失败并显示以下错误: 错误

如果我点击Fix建议,它会将其添加到我的代码中

TextFieldStyleModifier<<#Style: TextFieldStyle#>>
Run Code Online (Sandbox Code Playgroud)

我不知道怎么用。

有什么建议?

ios swift swiftui

8
推荐指数
3
解决办法
5924
查看次数

SwiftUI-如何在图像上添加前景线性渐变

我找不到任何有关如何使用SwiftUI 在前景上对图像进行线性渐变的相关文档。

我试图这样做:

Image("IconLoseWeight")
  .frame(width: 30.0, height: 30.0)
  .padding(.leading, 17)
  .foregroundColor(LinearGradient(gradient: Gradient(colors: [.white, .black]), startPoint: .top, endPoint: .bottom))
Run Code Online (Sandbox Code Playgroud)

实际上,上面显示的代码不会显示任何错误,但是会使用在顶级堆栈中没有意义的警告来打乱代码(我认为这是Xcode或SwiftUI的错误)。如果删除foreground修饰符,则代码可以完美运行。

macos xcode ios swift swiftui

3
推荐指数
3
解决办法
690
查看次数

标签 统计

ios ×2

swift ×2

swiftui ×2

macos ×1

xcode ×1