SwiftUI 描边颜色和宽度?

SD4*_*449 6 xcode stroke swift swiftui

我正在关注苹果的“创建和组合视图”SwiftUI 教程,在第 4 节第 5 步中,我被要求添加灰色描边,我可以这样做,但不显示颜色或给我线宽。

            .clipShape(Circle())
            .overlay(
                Circle().stroke(StrokeStyle)) 
Run Code Online (Sandbox Code Playgroud)

我做错了什么还是这是某种错误?

正如苹果的例子所示;

           .clipShape(Circle())
           .overlay(
               Circle().stroke(Color.gray, lineWidth: 4))
Run Code Online (Sandbox Code Playgroud)

我可以输入它,但不明白为什么它没有从检查器中提取颜色。我什至可以将颜色从灰色修改为白色,但我再次看不到代码中引用的内容

还可以从检查器添加/设置线宽吗?下一步添加阴影非常有意义,但这一步确实难倒了我。

Kev*_*inP 4

stroke(...)的函数被Circle()多次重载。

函数重载或方法重载是创建具有不同实现的多个同名函数的能力。

您可以在这里阅读有关函数重载的内容:函数重载

这是四种不同实现的文档stroke(...)

笔划(样式:)

描边(线宽:)

笔画(_:风格:)

描边(_:线宽:)

所有这些都是有效的,您可以决定使用哪一种或哪一种最适合您的需要。

Circle().stroke(Color.black, lineWidth: 1)  
Circle().stroke(style: StrokeStyle(lineWidth: 1, lineCap: .butt, lineJoin: .bevel, miterLimit: 1, dash: [CGFloat](), dashPhase: 1))
Run Code Online (Sandbox Code Playgroud)

这两个实现的作用相同,但使用了不同的Stroke(...) 函数实现。