Код: Выделить всё
struct HandOverView: View {
let store: StoreOf
@State var qrCode: Image?
var body: some View {
ZStack {
Image(systemName: "square.fill")
.resizable()
.frame(width: 350, height: 350)
.foregroundColor(.white)
if let qrCode = qrCode {
qrCode
.interpolation(.none)
.resizable()
.scaledToFit()
} else {
Text("No QR Code available")
}
}
.padding()
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(.red)
.onAppear {
UIScreen.main.brightness = 1.0
do {
let result = try StateSnapshot.createStateSnapshot(state: store.state)
qrCode = generateQRCode(from: result)
} catch {
print("Catch: \(error)")
}
}
}
func generateQRCode(from string: String) -> Image? {
let context = CIContext()
let filter = CIFilter.qrCodeGenerator()
filter.message = Data(string.utf8)
if let outputImage = filter.outputImage {
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
return Image(uiImage: UIImage(cgImage: cgImage))
}
}
return nil
}
}
Каков ваш опыт в этом вопросе и есть ли у вас какие-нибудь советы, как сделать это быстрее? Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/786 ... ion-faster