php mysql网站开发项目式教程,百度收录查询代码,全国装修公司排名,永信南昌网站建设SwiftUI的 特性 - ViewModify
记录一下SwiftUI的 特性 - ViewModify的使用方式 可以通过viewModify来管理视图的样式#xff0c;结合extension来完成封装达到解偶效果 import SwiftUI/// 我们可以通过viewModify来管理视图的样式#xff0c;来达到解偶效果
struct DefaultB…SwiftUI的 特性 - ViewModify
记录一下SwiftUI的 特性 - ViewModify的使用方式 可以通过viewModify来管理视图的样式结合extension来完成封装达到解偶效果 import SwiftUI/// 我们可以通过viewModify来管理视图的样式来达到解偶效果
struct DefaultButtonViewModifier: ViewModifier {State var font: FontState 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()
}效果