作者:朱克锋
邮箱:zhukefeng@iboxpay.com
转载请注明出处:http://blog.youkuaiyun.com/linux_zkf
在二维码的操作中,常常会因为某些需要要改变原来的相机的操作栏,这里给出一个简单的实例,其它相关的状态可以参考实现
实例图示:
- (void)QRscan
{
// ADD: present a barcode reader that scans from the camera feed
ZBarReaderViewController *reader = [ZBarReaderViewControllernew];
reader.readerDelegate =self;
reader.wantsFullScreenLayout =NO;
reader.showsZBarControls =NO;
reader.cameraOverlayView=[selfsetOverlayPickerView];
ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here
// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology:ZBAR_I25
config:ZBAR_CFG_ENABLE
to: 0];
// present and release the controller
[selfpresentModalViewController: reader
animated: YES];
[reader release];
}
- (UIView *)setOverlayPickerView
{
UIView *overlayView = [[[UIViewalloc] initWithFrame:CGRectMake(0,0, 320, 480)]autorelease];
[overlayView setBackgroundColor:[UIColorclearColor]];
UIToolbar *toolBar = [[UIToolbaralloc] init];
UIBarButtonItem *backButton = [[UIBarButtonItemalloc] initWithTitle:@"取消"style:UIBarButtonItemStyleBorderedtarget:selfaction:@selector(dismissOverlayView:)];
[toolBar setItems:[NSArrayarrayWithObjects:backButton,nil]];
[toolBar setBarStyle:UIBarStyleDefault];
CGRect toolBarFrame;
toolBarFrame = CGRectMake(0,420, 320, 44);
[toolBar setFrame:toolBarFrame];
[overlayView addSubview:toolBar];
[backButton release];
[toolBar release];
return overlayView;
}
- (void)dismissOverlayView:(id)sender{
[selfdismissModalViewControllerAnimated: YES];
}