我对如何根据状态正确更新视图按钮颜色感到困惑。如果我没记错的话,当用户授予相机访问权限时,self.cameraOK
是true
,但是按钮的颜色不会改变。我需要再次点击按钮以查看颜色变化。为什么会发生这种情况?
此外,我还建议采用其他有关质量标准的建议,因为我还不熟悉。
代码如下:
@State var cameraOK: Bool = false
@State var photosOK: Bool = false
var body: some View {
VStack(alignment: .leading) {
...
Button(action: {
if permissions.giveCameraAccess() {
self.cameraOK = true
}
}) {
Text("Enable access to your camera")
.font(Font.custom("Inter", size: 16))
.foregroundColor(self.cameraOK ? Color(red: 0, green: 1, blue: 0.2) : Color(red: 1, green: 0.68, blue: 0.2) )
.fontWeight(.regular)