0

编辑

完整代码https://forums.raywenderlich.com/t/swiftui-getting-started-raywenderlich-com/73445/11?u=prashantkt

我正在 SwiftUI 中创建一个演示以匹配来自https://www.raywenderlich.com/3715234-swiftui-getting-started的颜色

我对该演示做了一些实验,如果您需要更多代码或信息,请告诉我:)

这是第一次运行时的样子

在此处输入图像描述

在“匹配我”按钮上点击我计算分数

并显示警报和休息滑块值,

 Button(action: {
         self.score = self.computeScore()

        self.resetTheColor()

        self.needToShoWAlert = true


      }) {
            Text("Match me")
      }

    func resetTheColor () {
        rTarget  = Double.random(in: 0..<1)
        gTarget = Double.random(in: 0..<1)
        bTarget = Double.random(in: 0..<1)

        sliderBinder.reset()
    }

这是sliderBinder类

class SliderBindable:BindableObject {

    var r:Double = 0 {
        didSet {
            didChange.send((r,g,b))
        }
    }
    var g:Double = 0 {
        didSet {
            didChange.send((r,g,b))

        }
    }
    var b:Double = 0 {
        didSet {
            didChange.send((r,g,b))

        }
    }

    var didChange = PassthroughSubject<(r:Double,g:Double,b:Double),Never>()



    func reset() {
        r = 0
        g = 0
        b = 0
    }


} 

休息 r,g,b 值时标签缩小

看屏幕截图

在此处输入图像描述

4

0 回答 0