(macOS 10.15 beta和Xcode 11 beta 5)
我正在研究的SwiftUI教程(https://www.raywenderlich.com/3715234-swiftui-getting-started#toc-anchor-005)包含以下视图:
struct ColorSliderView: View { @Binding var value: Double let textColor: Color var body: some View { HStack { Text("0").foregroundColor(textColor) Slider(value: $value, in: 0.0...1.0) Text("255").foregroundColor(textColor) }.padding() } }
该视图与另一个视图在同一文件中声明,并且可以作为该视图的组件进行预览。
正如本教程中使用的那样,它可以工作,但是后来我将视图提取到了自己的文件中,并添加了以下预览:
#if DEBUG struct ColorSliderView_Previews: PreviewProvider { static var previews: some View { return ColorSliderView(value: 0.5, textColor: .red) } } #endif
这将引发错误“ 无法将类型为'Double'的值转换为预期的参数类型'Binding <
问题:如何在预览中声明值为0.5的Binding <
(另外:如何在问题中正确包含尖括号(不加倍)?
值期望绑定。您可以使用“ .constant(0.5)”解决此问题
#if DEBUG struct ColorSliderView_Previews: PreviewProvider { static var previews: some View { ColorSliderView(value: .constant(0.5), textColor: .red) } } #endif
但这仅用于测试。