我可以使用ZXing Library并在我的iphone应用程序的后台扫描qr代码吗?我不希望相机覆盖有寻找qr代码和取消按钮的方块(如ScanTest示例中所示)。我需要的是按下扫描按钮将激活QR码的读取,当读取QR码时,如何将文本返回到我的应用程序,所以我可以在屏幕上的UILabel中显示它。
有人可以在Objective-C中显示一些示例代码吗?感谢。
答案 0 :(得分:1)
我做了类似的事情,并且可以为您提供一些指导,但无法共享源代码。
看看ZXingWidgetController.mm,.h文件。这是一个功能齐全的QRcode扫描应用程序,您可以编译,因此它可以反向设计为只包含后端代码。编辑.h以便类扩展NSObject而不是UIViewController,然后删除任何作为GUI对象的类属性和实例变量。
这将导致xcode查找并标记.mm文件中警告/错误不再需要的所有方法和变量(willAppear等)。大多数代码都可以删除,但要注意将分配/解除分配移动到构造函数/解构器。
在viewController中,您可以创建此类的实例,并调用该类以开始扫描。您需要修改ZXingWidgetController.mm文件中的didDecodeImage,以便在成功从QR代码获取结果时执行您希望它执行的操作。一种可能性是修改构造函数以将父视图控制器作为参数,将其作为委托(__ weak)存储在实例变量中,然后使用它来调用didDecodeImage方法中的一个函数。其他人可能会使用通知将数据传回主代码。
希望这有帮助!
答案 1 :(得分:0)
zxing objc directory中有一组在CA级别而不是UIView级别运行的类,它们可能比在UIViewController级别运行的小部件更容易修改。
这仍然需要稍微调整一下,因为核心捕获代码会跟踪视图是否在屏幕上以自动开始和停止帧的捕获。