SwiftUI 条码不显示
SwiftUI barcode does not show
我需要根据现有的条码创建条码 text.I 找到了很多解决这个问题的方法,但是 none 有效,我只看到一个白色矩形而不是条码。这是无效代码,但也许它会帮助您找到解决方案
struct TestBarCodeView: View {
var body: some View {
VStack {
BarCodeView(barcode: "1234567890")
.scaledToFit()
.padding().border(Color.red)
}
}
}
struct BarCodeView: UIViewRepresentable {
let barcode: String
func makeUIView(context: Context) -> UIImageView {
UIImageView()
}
func updateUIView(_ uiView: UIImageView, context: Context) {
uiView.image = UIImage(barcode: barcode)
}
}
您需要 return 在 makeUIView
中完全初始化视图。
来自文档:
Creates the view object and configures its initial state.
以下代码对我有用:
struct BarCodeView: UIViewRepresentable {
let barcode: String
func makeUIView(context: Context) -> UIImageView {
let imageView = UIImageView()
imageView.image = UIImage(barcode: barcode)
return imageView
}
func updateUIView(_ uiView: UIImageView, context: Context) {
}
}
updateUIView
函数什么都不做,因为条形码 属性 没有改变。
我需要根据现有的条码创建条码 text.I 找到了很多解决这个问题的方法,但是 none 有效,我只看到一个白色矩形而不是条码。这是无效代码,但也许它会帮助您找到解决方案
struct TestBarCodeView: View {
var body: some View {
VStack {
BarCodeView(barcode: "1234567890")
.scaledToFit()
.padding().border(Color.red)
}
}
}
struct BarCodeView: UIViewRepresentable {
let barcode: String
func makeUIView(context: Context) -> UIImageView {
UIImageView()
}
func updateUIView(_ uiView: UIImageView, context: Context) {
uiView.image = UIImage(barcode: barcode)
}
}
您需要 return 在 makeUIView
中完全初始化视图。
来自文档:
Creates the view object and configures its initial state.
以下代码对我有用:
struct BarCodeView: UIViewRepresentable {
let barcode: String
func makeUIView(context: Context) -> UIImageView {
let imageView = UIImageView()
imageView.image = UIImage(barcode: barcode)
return imageView
}
func updateUIView(_ uiView: UIImageView, context: Context) {
}
}
updateUIView
函数什么都不做,因为条形码 属性 没有改变。