【发布时间】:2021-06-30 08:33:57
【问题描述】:
我目前一直在使用这个 Environment 变量来调整我的应用程序上的 Dark 和 Light 模式。
@Environment(.colorScheme) var colorScheme
我遇到的问题是使用 var 有条件地设置按钮样式。这种方法效果很好。
if colorScheme == .dark {
Button("Create Account", action: {
}).buttonStyle(CinderDarkButtonStyle(geometry: geometry))
} else {
Button("Create Account", action: {
}).buttonStyle(CinderLightButtonStyle(geometry: geometry))
}
但是,这样做会导致我在一个相对简单的用户界面上到处重复代码。每当我尝试以这种方式执行此操作时,都会出现错误,指出我的类型不匹配。
Button("Create Account", action: {
//DO SOME ACTION
}).buttonStyle(
colorScheme == .dark ?
CinderDarkButtonStyle(geometry: geometry) :
CinderLightButtonStyle(geometry: geometry)
)
【问题讨论】:
-
是多余的
)吗? -
@Don 不,那是一个错字,不错:D