【发布时间】:2019-09-09 08:12:47
【问题描述】:
我有一个UIView,带有 2 个标签和一个用于绑定的变量,如下所示:
var count: String? {
get { viewCountLabel.text }
set {
viewCountLabel.text = newValue
viewsTitleLabel.text = newValue == "1" ? "View" : "Views"
}
}
还有一个convenience init 喜欢:
convenience init(count: String) {
self.init()
self.count = count
}
此视图符合UIViewRepresentable,如下:
extension ViewCountView: UIViewRepresentable {
typealias UIViewType = ViewCountView
func makeUIView(context: Context) -> UIViewType {
UIViewType(frame: .zero)
}
func updateUIView(_ uiView: UIViewType, context: UIViewRepresentableContext<UIViewType>) {}
}
这在目标上按预期工作。
- 问题:我应该如何将计数传递给实时视图中的预览?
我尝试像下面这样在预览的初始化程序上传递计数,但它不起作用。我想我应该以某种方式以Context 的形式传递count。
struct ViewCountView_Previews: PreviewProvider {
static var previews: some View {
Group {
ViewCountView(count: "0")
ViewCountView(count: "12m")
ViewCountView(count: "41234")
}
}
请注意因为我需要超过 1 个预览,我不能在makeUIView 或updateUIView 内静态写入值.
【问题讨论】:
标签: ios swift xcode swiftui xcode11