我正在构建一个使用QR码连接用户的应用程序,类似于Snapchat允许用户在Snapchat上添加对方的应用程序.
我希望使用更加美观的替代QR码,与Snapchat的Snapcode类似.关于如何在iOS应用程序中完成任何想法?
解决方法
如果您不想使用QRCode,您将不得不创建自己的模式来生成/读取图像.
但也许你可以使用QRCode.
QRCode有一个error correction level.考虑到它,你仍然可以使你的QRCode更美观,如你所要求的.只要记住“错误更正级别越高,存储容量越小”,只要算法能够获得所需的信息,您就可以自定义图像.
当您生成QRCode图像时,您可以这样做:
private enum InputCorrectionLevel: String { case Low = "L",Medium = "M",High = "Q",Ultra = "H" } func generateQRCodeFromString(string:String,withFrameSize frameSize:CGSize) -> CIImage? { var qrCodeCIImage: CIImage? let data = string.dataUsingEncoding(NSISOLatin1StringEncoding,allowLossyConversion: false) if let filter = CIFilter(name: "CIQRCodeGenerator") { filter.setValue(data,forKey: "inputMessage") filter.setValue(InputCorrectionLevel.Low.rawValue,forKey: "inputCorrectionLevel") if let outputImage = filter.outputImage { let scaleX = frameSize.width / outputImage.extent.size.width let scaleY = frameSize.height / outputImage.extent.size.height qrCodeCIImage = outputImage.imageByApplyingTransform(CGAffineTransformMakeScale(scaleX,scaleY)) } else { print("Error getting output image") } } else { print("Error creating filter") } return qrCodeCIImage }