【发布时间】:2019-10-22 02:19:05
【问题描述】:
在关注 Apple 的 tutorial on user input 之后,我实现了切换。目前,它看起来像这样:
这是生成此 UI 的代码:
NavigationView {
List {
Toggle(isOn: $showFavoritesOnly) {
Text("Show Favorites only")
}
}
}
现在,我希望 Toggle 的 on 颜色为蓝色而不是绿色。
我试过了:
Toggle(isOn: $showFavoritesOnly) {
Text("Show Favorites only")
}
.accentColor(.blue)
.foregroundColor(.blue)
.background(Color.blue)
这些都不起作用,我找不到任何其他修饰符,例如tintColor。
如何更改Toggle 的颜色?
【问题讨论】:
-
根据文档,
.accentColor似乎应该更改Toggle的颜色。也许向 Apple 提交错误报告,看看他们怎么说? -
developer.apple.com/documentation/swiftui/toggle。它似乎是 SwiftUI 中最接近 UIKit 的 tintColor 的选项,这就是为什么我说它似乎应该改变 Toggle 的颜色。如果您提交有关它的错误报告,那么希望任何回复的人都会确认这是一个错误,或者有另一种 SwiftUI 方法可以做到这一点。
-
我认为这是一个错误。它应该随着
.accentColor而改变。我提交了 FB6158727,如果 Apple 对此有任何说明,我会通知您。 :) -
@CliftonLabrum 你收到 Apple 的消息了吗?
-
我使用的是 11.3,但我无法让
.accentColor工作。