我想在SwiftUI视图中使用通用子视图。
struct UserChoiceView<DecisionView: View>: View {
let subview: DecisionView
var body: some View {
subview
.padding()
.offset(x: 10)
}
}
struct LikeDislikeView_Previews: PreviewProvider {
static var previews: some View {
UserChoiceView(subview: RoundedRectangle(cornerRadius: 10)
.fill(Color.red.opacity(0.9)))
}
}
上面的代码可以正常工作,但是Xcode无法生成预览。 我收到此错误:
reference to generic type 'UserChoiceView' requires arguments in <...>
我认为我可以使用AnyView类型擦除来解决此问题,但也许还有其他解决方法。