本文主要是介绍SwiftUI的 特性 - ViewModify,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SwiftUI的 特性 - ViewModify
记录一下SwiftUI的 特性 - ViewModify的使用方式
可以通过viewModify来管理视图的样式,结合extension来完成封装达到解偶效果
import SwiftUI/// 我们可以通过viewModify来管理视图的样式,来达到解偶效果
struct DefaultButtonViewModifier: ViewModifier {@State var font: Font@State var bgColor: Colorfunc body(content: Content) -> some View {content.font(font).foregroundColor(.white).frame(height: 55).frame(maxWidth: .infinity).background(bgColor).cornerRadius(10.0, antialiased: /*@START_MENU_TOKEN@*/true/*@END_MENU_TOKEN@*/).shadow(radius: 10)}}extension View {/// MARK - 通过拓展来简化调用过程从而完成封装func withDefaultButtonFormatting(bgColor: Color = .blue, font: Font = .title) -> some View {modifier(DefaultButtonViewModifier(font: font, bgColor: bgColor))}
}struct ViewModifierBootCamp: View {var body: some View {VStack(spacing: 20, content: {Text("Hello, World!").withDefaultButtonFormatting(bgColor: .yellow)Text("Hello, everyOne!").withDefaultButtonFormatting(font: .title3)Text("Hello !!").withDefaultButtonFormatting(bgColor: .green, font: .headline)}).padding()}
}#Preview {ViewModifierBootCamp()
}
效果:
这篇关于SwiftUI的 特性 - ViewModify的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!