ネット上に沢山あるんだけど、一応メモしておく。
文字列からQR化したCiImageを返すメソッド
private func makeQRCode( str:String )->CIImage?{ let data = str.data(using: .utf8) let qr = CIFilter(name: "CIQRCodeGenerator", parameters: ["inputMessage": data, "inputCorrectionLevel": "M"]) if let qr = qr { let sizeTransform = CGAffineTransform(scaleX: 10, y: 10) return qr.outputImage!.transformed(by: sizeTransform) } return nil }
でCiImageをUIImageViewで表示する
override func viewDidLoad() { super.viewDidLoad() let qrCiImage = makeQRCode( str: "Sample" ) guard let qr = qrCiImage else{ return } let imageView = UIImageView(image: UIImage(ciImage: qrCiImage!)) imageView.frame.size.width = 200 imageView.frame.size.height = 200 imageView.center.x = self.view.frame.width / 2 imageView.center.y = self.view.frame.height / 2 self.view.addSubview(imageView) }
サンプルコード GitHub - letitride/MySwiftParts at MakeQR
リンク
リンク