zum*_*zum 5 swiftui viewmodifier
我正在尝试创建这个修改器:
struct CustomTextBorder: ViewModifier {
func body(content: Content) -> some View {
return content
.font(.largeTitle)
.padding()
.overlay(
RoundedRectangle(cornerRadius: 15)
.stroke(lineWidth: 2)
)
.foregroundColor(.blue)
}
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到Type 'CustomTextBorder' does not conform to protocol 'ViewModifier'错误。
看来我必须补充一下:
typealias Body = <#type#>
但是,我看到修改器的创建就像我最初在这里所做的那样,而无需提供typealias Body...
该修改器在这里起作用:
https://www.simpleswiftguide.com/how-to-make-custom-view-modifiers-in-swiftui/
为什么它对我不起作用?
我怎样才能让这个修改器起作用?为什么它对某些人有效而对其他人无效?这取决于项目的目标是什么吗?我的目标是 iOS 15。
您的代码工作正常,但为什么使用 ViewModifier?你不需要 ViewModifier 来完成这个简单的事情,你可以通过这种方式使用扩展:
struct ContentView: View {
var body: some View {
Text("Hello, World!").customTextBorder
}
}
extension Text {
var customTextBorder: some View {
return self
.font(.largeTitle)
.padding()
.overlay(
RoundedRectangle(cornerRadius: 15)
.stroke(lineWidth: 2)
)
.foregroundColor(.blue)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2249 次 |
| 最近记录: |