1. 如何在IOS平台上使用js直接調用OC方法
本例子是為了讓大家能快速開發出OC調用JS功能的一個簡單的例子。
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類型的委託。<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA++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 :@"jsIOS.html"];
NSURL *url = [NSURL fileURLWithPath:helpHtmlPath];
//載入本地html文件
[webview loadRequest:[NSURLRequest requestWithURL:url]];
}
/*
* 點擊事件
* 調用javaScript的方法postStr()並取得返回值
* 輸出返回值到控制台
*/
-(IBAction)IOS_JS:(id)sender
{
NSString *str = [self.webview :@"postStr();"];
NSLog(@"JS返回值:%@",str);
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
@end