1. 程式人生 > >[IOS開發]js與WKwebview互動Demo(調取二維碼掃描)

[IOS開發]js與WKwebview互動Demo(調取二維碼掃描)

#pragmamark-WKWebDelegate

-(void)userContentController:(WKUserContentController*)userContentControllerdidReceiveScriptMessage:(WKScriptMessage*)message{

if([message.nameisEqual:@"CallScanCodeHandler"]){

[selfCallScanCode];

}

}

#pragmamark-方法method

-(void)resultQRCode:(NSString*)message{

NSString

*js=[NSStringstringWithFormat:@"setCodeHandler('%@')",message];

[self.webevaluateJavaScript:jscompletionHandler:nil];

}

-(void)CallScanCode{

ZFScanViewController*vc=[[ZFScanViewControlleralloc]init];

vc.returnScanBarCodeValue=^(NSString*barCodeString){

barcode=[barCodeStringsubstringToIndex:(barCodeString.length

-3)];

[selfresultQRCode:barcode];

};

[selfpresentViewController:vcanimated:YEScompletion:nil];

}

-(void)ViewDidLLoad{

[superViewDidLoad];

WKUserContentController*userContentController=[[WKUserContentControlleralloc]init];

[userContentControlleraddScriptMessageHandler:selfname:@"CallScanCodeHandler"

];

configuretion.userContentController=userContentController;

}