Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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
Iphone Zbarsdk不';无法使用webviewcontroller正确实现_Iphone_Objective C_Zbar Sdk - Fatal编程技术网

Iphone Zbarsdk不';无法使用webviewcontroller正确实现

Iphone Zbarsdk不';无法使用webviewcontroller正确实现,iphone,objective-c,zbar-sdk,Iphone,Objective C,Zbar Sdk,我最终将zbarsdk嵌入到我的应用程序中,没有错误消息。然而,我发现了一个新问题。我需要打开将从qrcode收集到webviewcontroller的url。问题是扫描后,结果显示得太晚(需要很长时间才能显示)或下降,有时甚至显示以前的结果(网站)。这是我的密码 #import <UIKit/UIKit.h> #import "ZBarSDK.h" @interface QR_ReaderViewController : UIViewController <ZBarRead

我最终将zbarsdk嵌入到我的应用程序中,没有错误消息。然而,我发现了一个新问题。我需要打开将从qrcode收集到webviewcontroller的url。问题是扫描后,结果显示得太晚(需要很长时间才能显示)或下降,有时甚至显示以前的结果(网站)。这是我的密码

#import <UIKit/UIKit.h>
#import "ZBarSDK.h"

@interface QR_ReaderViewController : UIViewController <ZBarReaderDelegate>{
}

@property (weak, nonatomic) IBOutlet UIWebView *webView1;
@end
#导入
#输入“ZBarSDK.h”
@接口QR_ReaderViewController:UIViewController{
}
@属性(弱、非原子)IBUIWebView*webView1;
@结束
还有,m

#import "QR_ReaderViewController.h"

@interface QR_ReaderViewController ()
@end

@implementation QR_ReaderViewController

NSString *resultText;

- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
    self.title = @"QR Reader";

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
}
return self;
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}

- (void)viewDidUnload {
[super viewDidUnload];
}

- (void)viewDidLoad {
[super viewDidLoad];

ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
[reader.scanner setSymbology: ZBAR_UPCA config: ZBAR_CFG_ENABLE to: 0];
reader.readerView.zoom = 1.0;
[self presentViewController:reader animated:YES completion:nil];

//webview result
NSURL *url = [NSURL URLWithString:resultText];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_webView1 loadRequest: requestObj];
}

- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info
{
id <NSFastEnumeration> results =
[info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)

    break;

resultText = symbol.data;

[reader dismissViewControllerAnimated:YES completion:nil];
}

+ (NSString*) getResultText
{
return resultText;
}

@end
#导入“QR\u ReaderViewController.h”
@接口QR_ReaderViewController()
@结束
@实现QR_ReaderViewController
NSString*resultText;
-(id)initWithCoder:(NSCoder*)aDecoder{
self=[super initWithCoder:aDecoder];
如果(自我){
self.title=@“QR阅读器”;
[[UIApplication sharedApplication]设置StatusBarHidden:NO with animation:UIStatusBaranimationne];
}
回归自我;
}
-(无效)未收到记忆警告{
[超级记忆警告];
}
-(无效)视图卸载{
[超级视频下载];
}
-(无效)viewDidLoad{
[超级视图下载];
ZBarReaderViewController*读卡器=[ZBarReaderViewController新建];
reader.readerDelegate=self;
[reader.scanner设置符号:ZBAR_UPCA配置:ZBAR_CFG_启用到:0];
reader.readerView.zoom=1.0;
[自我呈现视图控制器:读卡器动画:是完成:无];
//网络视图结果
NSURL*url=[NSURL URLWithString:resultText];
NSURLRequest*requestObj=[nsurlRequestRequestWithURL:url];
[_webView1 loadRequest:requestObj];
}
-(void)imagePickerController:(UIImagePickerController*)读卡器已使用信息完成PickingMediaWithInfo:(NSDictionary*)信息
{
id结果=
[信息对象forkey:ZBarReaderControllerResults];
ZBarSymbol*符号=nil;
用于(结果中的符号)
打破
resultText=symbol.data;
[reader DismissViewControllerInitiated:YES completion:nil];
}
+(NSString*)getResultText
{
返回结果文本;
}
@结束

我做错什么了吗

您似乎将
webview结果代码
放错了位置。。请尝试下面的代码。。它可能会解决你的问题

- (void)viewDidLoad {
    [super viewDidLoad];
    ZBarReaderViewController *reader = [ZBarReaderViewController new];
    reader.readerDelegate = self;
    [reader.scanner setSymbology: ZBAR_UPCA config: ZBAR_CFG_ENABLE to: 0];
    reader.readerView.zoom = 1.0;
    [self presentViewController:reader animated:YES completion:nil];
}

- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info
    {
    id <NSFastEnumeration> results =
    [info objectForKey: ZBarReaderControllerResults];
    ZBarSymbol *symbol = nil;
    for(symbol in results)

        break;

    resultText = symbol.data;

   //webview result and Solution of showing Previous Result
   NSURL *url = [NSURL URLWithString:resultText];
   NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
   [_webView1 loadRequest: requestObj];

  // To Overcome Delay  
  if (![reader isBeingPresented]) {
        [self dismissReader:reader];
       }
       else{
         [self performSelector:@selector(dismissReader:) withObject:reader afterDelay:0.7];
       }
    }


 - (void) dismissReader:(UIImagePickerController*) reader
  {
     [reader dismissViewControllerAnimated:YES completion:nil];
  }
-(void)viewDidLoad{
[超级视图下载];
ZBarReaderViewController*读卡器=[ZBarReaderViewController新建];
reader.readerDelegate=self;
[reader.scanner设置符号:ZBAR_UPCA配置:ZBAR_CFG_启用到:0];
reader.readerView.zoom=1.0;
[自我呈现视图控制器:读卡器动画:是完成:无];
}
-(void)imagePickerController:(UIImagePickerController*)读卡器已使用信息完成PickingMediaWithInfo:(NSDictionary*)信息
{
id结果=
[信息对象forkey:ZBarReaderControllerResults];
ZBarSymbol*符号=nil;
用于(结果中的符号)
打破
resultText=symbol.data;
//webview结果和显示先前结果的解决方案
NSURL*url=[NSURL URLWithString:resultText];
NSURLRequest*requestObj=[nsurlRequestRequestWithURL:url];
[_webView1 loadRequest:requestObj];
//克服延误
如果(![reader正在呈现]){
[自我否定读者:读者];
}
否则{
[自执行选择器:@selector(dismissReader:)with object:reader afterDelay:0.7];
}
}
-(无效)dismissReader:(UIImagePickerController*)读卡器
{
[reader DismissViewControllerInitiated:YES completion:nil];
}