测试测试 | ✓ |
Lang语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2016年9月 |
由 Yannick Loriot,Yannick Loriot 维护。
QRCodeReaderViewController最初是一个简单的二维码读取器,但现在它允许你指定你想要解码的格式类型。它基于苹果的AVFoundation
框架,以替换 iOS 7 及以上版本中的 ZXing 或 ZBar。
它提供了一个默认视图控制器来显示带有扫描区域叠加的相机视图,同时它也提供了一个按钮来切换前后摄像头。
以下是一个非常简单的关于如何使用QRCodeReaderViewController
的示例
// Create the reader object
QRCodeReader *reader = [QRCodeReader readerWithMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]];
// Instantiate the view controller
QRCodeReaderViewController *vc = [QRCodeReaderViewController readerWithCancelButtonTitle:@"Cancel" codeReader:_reader startScanningAtLoad:YES showSwitchCameraButton:YES showTorchButton:YES];
// Set the presentation style
_vc.modalPresentationStyle = UIModalPresentationFormSheet;
// Define the delegate receiver
_vc.delegate = self;
// Or use blocks
[_reader setCompletionWithBlock:^(NSString *resultAsString) {
NSLog(@"%@", resultAsString);
}];
现在当我们触摸扫描按钮时,我们需要显示 QRCodeReaderViewController
#pragma mark - Action Methods
- (IBAction)scanAction:(id)sender
{
[self presentViewController:_vc animated:YES completion:NULL];
}
这里是代理方法
#pragma mark - QRCodeReader Delegate Methods
- (void)reader:(QRCodeReaderViewController *)reader didScanResult:(NSString *)result
{
[self dismissViewControllerAnimated:YES completion:^{
NSLog(@"%@", result);
}];
}
- (void)readerDidCancel:(QRCodeReaderViewController *)reader
{
[self dismissViewControllerAnimated:YES completion:NULL];
}
注意,你应该通过使用[QRCodeReader isAvailable]
或[QRCodeReader supportsMetadataObjectTypes:nil]
方法来检查设备是否支持读取库。
在项目中使用 QRCodeReaderViewController 的推荐方法是使用CocoaPods包管理器,因为它提供灵活的依赖关系管理以及简单的安装。
下载项目并将QRCodeReaderViewController
文件夹复制到你的项目中,然后在你想使用的文件中简单地#import "QRCodeReaderViewController.h"
。
Yannick Loriot
版权 (c) 2014-至今 - Yannick Loriot
特此授予任何人免费获得此软件和相关的文档文件(以下简称“软件”)的副本的权利,不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,以及允许提供软件的人这样做,但需遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明确的还是暗示的,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者都不应对任何索赔、损害或其他责任承担责任,无论这些责任是因合同、侵权或其他行为而产生,或者与软件、软件的使用或其他方式有关。