自定义Modifier开始
新建 SwiftUI File -> Modifier.swift
import SwiftUI
//双重阴影
struct ShadowModifier: ViewModifier {
func body(content: Content) -> some View {
content
.shadow(color: Color.black.opacity(0.1), radius: 1, x: 0, y: 1)
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 0.0, y: 10)
}
}
//可传值的
struct FontModifier: ViewModifier {
var style: Font.TextStyle
func body(content: Content) -> some View {
content
.font(.system(style, design: .default))
}
}
//自定义字体
struct CustomFontModifier: ViewModifier {
func body(content: Content) -> some View {
content
.font(.custom("WorkSans-Bold", size: 28))
}
}
使用
HStack {
Image(systemName: "bell")
.modifier(ShadowModifier())
Text("Modifier Test")
.modifier(FontModifier(style: .largeTitle))
Text("Watching")
.modifier(CustomFontModifier())
}
网友评论