RoundCode 1.3.0

RoundCode 1.3.0

Haik Aslanyan 维护。



RoundCode 1.3.0

RoundCode 是一个类似 FacebookMessanger 的自定义二维码,具有丰富的自定义功能。

License Swift 5 Twitter: @aslanyanhaik

除了编码器,RoundCode 还包括方便的摄像头扫描器和解码器。

安装

Different styles of RoundCode for iOS

安装指南

Cocoapods

pod 'RoundCode'

Swift 包管理器

文件 > Swift 包 > 添加包依赖项

https://github.com/aslanyanhaik/RoundCode

使用示例

导入框架

import RoundCode

编码

创建编码器并编码

let image = RCImage(message: "Hello World")
let coder = RCCoder()
do {
  imageView.image = try coder.encode(image)
} catch {
  //handle errors
}

你还可以在编码前验证消息

let coder = RCCoder()
let isValidText = coder.validate("Hello world")

解码

创建RCCameraViewController实例并处理代理

class ViewController: UIViewController, RCCameraViewControllerDelegate {
  
  func scan() {
    let cameraController = RCCameraViewController()
    cameraController.delegate = self
    present(cameraController, animated: true)
  }
  
  func cameraViewController(didFinishScanning message: String) {
    messageLabel.text = message
  }
}

你还可以这样解码UIImage

let coder = RCCoder()
  do {
    messageLabel.text = try coder.decode(UIImage(named: code)!)
  } catch {
    //handle errors
  }

外观

你可以这样修改外观

var image = RCImage(message: "Hello world")
image.contentInsets = UIEdgeInsets(top: 8, left: 10, bottom: 4, right: 10)
image.attachmentImage = UIImage(named: "Profile")
image.size = 300
image.gradientType = .linear(angle: CGFloat.pi)
image.tintColors = [.red, .black]

⚠️在选择颜色或透明背景时,请注意解码器将检测浅色背景上的深色代码⚠️

高级

你可以提供自定义编码配置,通过减少字符数来编码长文本

let configuration = RCCoderConfiguration.shortConfiguration
let coder = RCCoder(configuration: configuration)
let configuration = RCCoderConfiguration(characters: " -abcdefghijklmnopqrstuvwxyz0123456789")
let coder = RCCoder(configuration: configuration)

⚠️如果你使用自定义配置编码,那么你应该更改RCCameraViewController的配置⚠️

let configuration = RCCoderConfiguration(characters: " -abcdefghijklmnopqrstuvwxyz0123456789")
let coder = RCCoder(configuration: configuration)
let camera = RCCameraViewController()
camera.coder = coder

兼容性

使用Swift 5编写,需要Xcode 11.0

RoundCode与iOS 13.0+兼容。

Screenshot of RoundCode for iOS

作者

授权

版权所有 2020 海克·阿斯兰扬。

许可协议:MIT 许可协议:https://open-source.org.cn/licenses/MIT