當前位置:成語大全網 - 新華字典 - 如何在IOS平臺上使用js直接調用OC方法

如何在IOS平臺上使用js直接調用OC方法

1、準備壹個本地化的html網頁,如jsIOS.html

<script type="text/javaScript">

function postStr(){

return document.getElementById("text1").value;

//return "javaScript返回值啦";

}

</script>

2、將此html文件放到項目代碼目錄裏面,如圖:

3、拖壹個UIWebView控件和UIButton控件到xxxViewController對應的.xib或.storyboard視圖的UIView上;

在xxxViewController的.h文件中分別聲明UIWebView類型變量和UIButton類型的變量,以及壹個按鈕點擊事件(並且跟視圖裏面的控件連線),

並且添加壹個UIWebViewDelegate類型的委托。<喎?"/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+eHh4Vmlld0NvbnRyb2xsZXIuaM7EvP7E2sjdyOfPwqO6PC9wPgo8cD48L3A+CjxwIGNsYXNzPQ=="p1">

#import

@interface ViewController : UIViewController

@property(nonatomic,retain) IBOutlet UIWebView *webview;

@property(nonatomic,retain) IBOutlet UIButton *button;

-(IBAction)IOS_JS:(id)sender;

@end

4、在xxxViewController.m文件中實現通過點擊事件,調用javaScript的方法並取得返回值。

代碼如下:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize webview;

- (void)viewDidLoad

{

[super viewDidLoad];

//設置webView

webview.backgroundColor = [UIColor clearColor];

//webview.scalesPageToFit =YES;

webview.delegate =self;

//找到jsIOS.html文件的路徑

NSString *basePath = [[NSBundle mainBundle]bundlePath];

NSString *helpHtmlPath = [basePath stringByAppendingPathComponent:@"jsIOS.html"];

NSURL *url = [NSURL fileURLWithPath:helpHtmlPath];

//加載本地html文件

[webview loadRequest:[NSURLRequest requestWithURL:url]];

}

/*

* 點擊事件

* 調用javaScript的方法postStr()並取得返回值

* 輸出返回值到控制臺

*/

-(IBAction)IOS_JS:(id)sender

{

NSString *str = [self.webview stringByEvaluatingJavaScriptFromString:@"postStr();"];

NSLog(@"JS返回值:%@",str);

}

- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

}

@end