SwiftUI 中自定义 modifier
在 Swift UI 中,自定义 Modifier 是一种强大的方式,可以让你轻松地封装和重用视图的样式和行为。在本文中,我们将探讨如何使用自定义 Modifier ,以便在应用程序中保持一致的外观和风格。
import SwiftUI // 自定义 modifier struct Tittle: ViewModifier { func body(content: Content) -> some View { content .font(.largeTitle) .foregroundColor(Color.white) .padding() .background(Color.blue) .clipShape(RoundedRectangle(cornerRadius: 10)) } } extension View { func tittleStyle() -> some View { modifier(Tittle()); } func waterMark(with text: String) -> some View { modifier(WaterMark(text: text)) } } struct WaterMark : ViewModifier { var text : String; func body(content : Content) -> some View { ZStack(alignment: .bottomTrailing){ content Text(text) .foregroundColor(Color.gray) .padding() .background(Color.black) } } } struct ModifierUIView: View { var body: some View { // Text("Hello, World!") // .tittleStyle(); Color.blue .frame(width: 300, height: 300) .waterMark(with: "starzyn") } } struct ModifierUIView_Previews: PreviewProvider { static var previews: some View { ModifierUIView() } }
在上面的代码中,我们首先创建了一个名为
Tittle
和Watermark
的自定义 Modifier。
Tittle
实现的功能就是可以把一个 Text 组件变成标题
WarterMark
实现的功能就是在组件的右下角加上一个水印然后,我们通过在
View
的扩展中添加tittleStyle
和waterMark
方法来应用这个修改器。最后,我们在
ModifierUIView
中直接使用就可以了通过创建和使用自定义 Modifier,我们可以在 Swift UI 中轻松地实现主题功能,以确保应用程序中的视图保持一致的外观和风格。自定义 Modifier 不仅可以用于外观样式,还可以用于添加特定的行为和功能。这种模块化的方法可以帮助我们更有效地管理和维护应用程序的视图层级结构。