SwiftUI: Barkodlu görüntü görünmüyor
Sep 07 2020
Bir dizeden barkod olarak oluşturulan UIImage örneğini sunmaya çalışıyorum:
if let image = UIImage(barcode: "1234567890") {
Image(uiImage: image)
}
Ancak , hata ayıklamada gerçek görüntü ile doldurulmuş olsa da, boş dikdörtgen gösterir image:
Bir dizeden barkodlu bir UIImage oluşturmak için basit bir UIImage uzantısı kullanıyorum:
extension UIImage {
convenience init?(barcode: String) {
let data = barcode.data(using: .ascii)
guard let filter = CIFilter(name: "CICode128BarcodeGenerator") else {
return nil
}
filter.setValue(data, forKey: "inputMessage")
guard let ciImage = filter.outputImage else {
return nil
}
self.init(ciImage: ciImage)
}
}
Sorun nedir? Herhangi bir fikir?
Yanıtlar
3 Asperi Sep 07 2020 at 21:11
Evet, Görüntü ile bazı kusur / uyumsuzluk gibi görünüyor. Apple'a geri bildirimde bulunabilirsiniz.
Bu arada burada bir çözüm var. Xcode 12 / iOS 14 ile test edildi
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)
}
}
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'