Youtube like/dislike 按钮在 SwiftUI 中的功能

Youtube like/dislike buttons function in SwiftUI

首先,我是Swift和SwiftUI的完全初学者。

我正在尝试创建类似于 youtube like/dislike 功能的按钮或切换功能。

我可以创建按钮,但我很纠结,如何在按钮 B 打开时关闭按钮 A,反之亦然。同时在单击时还保留了单独的 on/off 功能。 我看到有人回答了类似的问题,但 SwiftUI

没有

提前致谢!

struct ContentView: View{
    @State var isOnGreen = false
    @State var isOnRed = false
    var body: some View {
        
              
            HStack{
                
                VStack {
                    Toggle(isOn: $isOnRed, label: {
                        Image (systemName: "arrowtriangle.down")
                        
                    })
                        .toggleStyle(.button)
                        .tint(.red)
                
                VStack {
                    Toggle(isOn: $isOnGreen, label: {
                        Image (systemName: "arrowtriangle.up")
                    })
                    
                        .toggleStyle(.button)
                        .tint(.green)
                    
                }

向您的 HStack 添加一个修饰符,用于监控 isOnRedisOnGreen 中的变化:

var body: some View {
  HStack {
    // ...
  }
  .onChange(of: isOnGreen) { val in
    if val { isOnRed = false }
  }
  .onChange(of: isOnRed) { val in
    if val { isOnGreen = false }
  }
}