标签:
HTML代码: <html> <head> <title>HTML中用JS调用OC方法</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> [removed] function openAlbum() { // 打开相册(openMyAlbum为OC中的方法) [removed].href = ‘ios://openMyAlbum‘; } function openCamera() { // 打开相机(openMyCamera为OC中的方法) [removed].href = ‘ios://openMyCamera‘; } [removed] </head> <body> <br/> <br/> <br/> <input type="button" value="打开相机"> <br><br/> <input type="button" value="打开相册"> </body> </html> OC代码: #import "ViewController.h" @interface ViewController ()<UIWebViewDelegate> @property (weak, nonatomic) IBOutlet UIWebView *webview; - (IBAction)getTitle; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSURL *url = [[NSBundle mainBundle] URLForResource:@"test.html" withExtension:nil]; [self.webview loadRequest:[NSURLRequest requestWithURL:url]]; self.webview.delegate = self; self.webview.dataDetectorTypes = UIDataDetectorTypeAll; } #pragma mark UIWebViewDelegate方法 /** *开始加重请求拦截 */ -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSString *urlstr = request.URL.absoluteString; NSRange range = [urlstr rangeOfString:@"ios://"]; if (range.length!=0) { NSString *method = [urlstr substringFromIndex:(range.location+range.length)]; SEL selctor = NSSelectorFromString(method); [self performSelector:selctor withObject:nil]; } return YES; } /** * OC执行JS代码 */ - (IBAction)getTitle { [self.webview stringByEvaluatingJavaScriptFromString:@"alert(document.title);"]; } -(void)openMyAlbum { UIImagePickerController *vc = [[UIImagePickerController alloc]init]; vc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; [self presentViewController:vc animated:YES completion:nil]; } -(void)openMyCamera { UIImagePickerController *vc = [[UIImagePickerController alloc]init]; vc.sourceType = UIImagePickerControllerSourceTypeCamera; [self presentViewController:vc animated:YES completion:nil]; } @end
UIWebView中Html中用JS调用OC方法及OC执行JS代码
标签:
原文地址:http://www.cnblogs.com/Ganggang888/p/5253617.html