Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS:ZBarCode读取器无法在自定义UISegmentedControl上工作单击_Ios_Zbar Sdk - Fatal编程技术网

iOS:ZBarCode读取器无法在自定义UISegmentedControl上工作单击

iOS:ZBarCode读取器无法在自定义UISegmentedControl上工作单击,ios,zbar-sdk,Ios,Zbar Sdk,我遵循这一点在iOS应用程序中实现了zbarcode阅读器。因为我使用的是定制的UISegmentedControl,相机应该在点击该段后立即启动,并开始扫描二维码。摄像头正在启动,但红线缺失,因此无法扫描二维码 我在日志中得到这个警告,其中提到 Warning: Attempt to present <ZBarReaderViewController: 0x7befb50> on <UINavigationController: 0x7b6f950> while a p

我遵循这一点在iOS应用程序中实现了zbarcode阅读器。因为我使用的是定制的UISegmentedControl,相机应该在点击该段后立即启动,并开始扫描二维码。摄像头正在启动,但红线缺失,因此无法扫描二维码

我在日志中得到这个警告,其中提到

Warning: Attempt to present <ZBarReaderViewController: 0x7befb50> on <UINavigationController: 0x7b6f950> while a presentation is in progress!
警告:在演示过程中尝试在上演示!
我在ScanViewController段的viewWill加载中编写了按钮逻辑。 使用Xcode 4.6并在iPad2中进行测试。 这是我的密码

- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info
{
    // ADD: get the decode results
    id<NSFastEnumeration> results =    
    [info objectForKey: ZBarReaderControllerResults];
    ZBarSymbol *symbol = nil;
    for(symbol in results)
        // EXAMPLE: just grab the first barcode
        break;

    // EXAMPLE: do something useful with the barcode data
    resultText.text = symbol.data;

    // EXAMPLE: do something useful with the barcode image
    resultImage.image =
    [info objectForKey: UIImagePickerControllerOriginalImage];

    // ADD: dismiss the controller (NB dismiss from the *reader*!)
    [reader dismissModalViewControllerAnimated: YES];
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    NSLog(@"Starting Camera to scan QR Code...");
    // ADD: present a barcode reader that scans from the camera feed
    ZBarReaderViewController *reader = [ZBarReaderViewController new];
    reader.readerDelegate = self;
    reader.supportedOrientationsMask = ZBarOrientationMaskAll;

    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
    [self presentModalViewController: reader
                            animated: YES];

    NSString *checkURL = self.resultText.text;
    NSLog(@"Checking URL scanned from QR Code before passing to List :: %@", checkURL);
-(void)imagePickerController:(UIImagePickerController*)读卡器已使用信息完成PickingMediaWithInfo:(NSDictionary*)信息
{
//添加:获取解码结果
id结果=
[信息对象forkey:ZBarReaderControllerResults];
ZBarSymbol*符号=nil;
用于(结果中的符号)
//示例:只需抓取第一个条形码
打破
//示例:对条形码数据执行一些有用的操作
resultText.text=symbol.data;
//示例:对条形码图像执行一些有用的操作
结果图像=
[info objectForKey:UIImagePickerControllerOriginalImage];
//添加:关闭控制器(注意从*读卡器*!)
[reader dismissModalViewControllerAnimated:是];
}
-(无效)视图将显示:(BOOL)动画
{
[超级视图将显示:动画];
NSLog(@“启动摄像头扫描二维码…”);
//添加:提供一个条形码读取器,可从摄像头提要进行扫描
ZBarReaderViewController*读卡器=[ZBarReaderViewController新建];
reader.readerDelegate=self;
reader.supportedOrientationMask=zBaroOrientationMaskall;
ZBarImageScanner*scanner=reader.scanner;
//TODO:(可选)此处的附加读卡器配置
//示例:禁用很少使用的I2/5以提高性能
[扫描仪设置符号:ZBAR_I25]
配置:ZBAR_CFG_启用
至:0];
//显示并释放控制器
[自我呈现模式控制器:读卡器
动画:是];
NSString*checkURL=self.resultText.text;
NSLog(@“在传递到列表之前检查从二维码扫描的URL:%@”,检查URL);
将代码移动到

- (void) viewDidAppear:(BOOL) animate { }
而不是视图将出现


问题是您试图在视图出现之前显示ModalviewController。

您好,如何解决您的问题problem@Deepesh我用自制的方法[self startCameraToScan]输入了代码在所选段以及viewDidLoad中。因此,在选项卡上调用此方法。因此,startCameraToScan将显示代码,而不是viewDidLoad