更多更详细教程请访问个人站点: [**码出一个长城**](https://www.yaozuopan.top)
由于本人已经把二维码类库(包含第三方库)打包成framework(即 DimensionalCode.framework),只要简单2步就可以实现二扫的扫描与生成,并且提供了完全自定义接口,可按照自己的爱好进行UI设计。下面教你怎么使用 DimensionalCode.framework。
1.在你的项目加入
#import
[DimensionalCode buildDimensionalCodeWithText:@"my dimensionalcode" // 生成二维码的字符串
size:250 // 生成二维码(正方形)大小的长(或宽)
completeBlock:^(UIImage *image) {// image 为生成的二维码
// 生成二维码后,如果还有做其他操作在些编码,比如保存二维码
}];
如果想要生成带LOGO的二维码怎么办呢?别担心, DimensionalCode.framework提供有三个接口,可根据需要进行调用,下面示例只是其中一个接口.
[DimensionalCode buildDimensionalCodeWithText:@"my dimensionalcode"
size:250
QRecLevel:QR_ECLEVEL_H // 二维码容错率,最高为30%(即QR_ECLEVEL_H),即LOGO有大 // 小不能超过二维码图片的30%,否则二维码无法被扫描出信息
logoName:@"logo.jpg" //你的logo
logoSize:CGSizeMake(20, 30) // logo的大小
completeBlock:^(UIImage *image) {
//
}];
B.二维码扫描:
// 使用下面代码即可跳到扫描界面,对准二维码可自动扫描
DimensionalCodeReaderViewController *DCRV = [DimensionalCodeReaderViewController new];
DCRV.scanDelegate = self;
[self presentViewController:[[UINavigationController alloc] initWithRootViewController:DCRV] animated:YES completion:nil];
// 怎么获取二维码中的信息呢?
// 实现 DimensionalCodeReaderViewControllerDelegate中的 DimensionalCodeReaderWithContent:fromImage:方法即可。
- (void)DimensionalCodeReaderWithContent:(NSString *)myContent fromImage:(UIImage *)image
{
//myContent 为二维码信息
// image 为扫描到的二维码图片
NSLog(@"%@",myContent);
}
// 如果想要完全定制UI,则要子类化DimensionalCodeReaderViewController(新建一类,继承DimensionalCodeReaderViewController),在子类的- (void)viewDidLoad方法中定制。在附件的Demo就是使用子类化的方式。
到此,相信你已经学会了二维码的扫描与生成呢,是不是感觉so easy,很Happy,DimensionalCode.framework让二维码扫描和生成如此简单,提高效率更easy.
下面说一下使用DimensionalCode.framework需要注意的事项,使用Xcode4的developer可以飘过,主要是针对Xcode5,大家都知道iPhone5S的CPU是64位即(arm64),如果你的项目的Architectures(Target -> build Settings -> Architectures -> Architectures)包含了arm64,则无法使用DimensionalCode.framework(编译报错,原因:ZBarSDK不支持arm64);如果最新版ZBarSDK支持arm64,我会即时更新DimensionalCode.framework以支持arm64,方便大家使用!
如果你想使用DimensionalCode.framework,只要把你的项目的Architecturs(Target -> build Settings -> Architectures -> Architectures)更改为standard architecturs(armv7,armv7s),即可正常使用!
如果大家在使用过程中,有什么问题,可发email:[email protected]
最后,DimensionalCode.framework包含了ZBarSDK和libqrencode ,非常感谢ZBarSDK和libqrencode的提供者!