美文网首页iOS面试那些事
[IOS经验总结]UIWebView与JS之间的数据交互(转自神

[IOS经验总结]UIWebView与JS之间的数据交互(转自神

作者: smart_small | 来源:发表于2016-05-31 10:12 被阅读240次

    [IOS经验总结]UIWebView与JS之间的数据交互

    [IOS经验总结]UIWebView与JS之间的数据交互,有需要的朋友可以参考下。

    在IOS中原生控件很多.能自定义的控件也很多.但在视图界面的开发上如果用原生的控件去做就显得非常麻烦了.在我已知的技术中拥有最便捷和效果最好的视图技术展示技术中.最优秀的就要属网页.假如用到HTML来展示视图界面的话.我们就需要一个承载的容器.这个容器IOS已经帮我们提供好了,那就是我们今天的主角UIWebView控件.

    准备工作:

    一个完整的html页面.

    一.将html网页加载进入UIWebView容器中

    在"-(void)viewDidLoad”方法中加入如下代码

    NSString*webPath = [[NSBundlemainBundle]pathForResource:@“HelloWord"ofType:@"html”];//获取文件路径

    NSURL*webURL = [NSURLfileURLWithPath:webPath];//通过文件路径字符串设置URL

    NSURLRequest*URLRequest = [NSURLRequestrequestWithURL:webURL];//设置请求提交的相关URL

    [self.webViewloadRequest:URLRequest];//提交请求

    二.加入UIWebViewDelegate委托(如果想要进行相应的数据交互必须添加相应的我委托)

    1.-(BOOL)webView:(UIWebView

    *)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType//html页面的js动作触发时运行

    2.-(void)webViewDidFinishLoad:(UIWebView

    *)webView //html加载完后触发

    三.OC提交JS请求.运行JS方法

    [self.webViewstringByEvaluatingJavaScriptFromString:@”方法名(%@)",参数]];

    四.JS提交请求到OC

    在-(BOOL)webView:(UIWebView*)webView

    shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType中添加如下代码:

    NSString*requestString = [[requestURL]absoluteString];//获取请求的绝对路径.

    NSArray*components = [requestStringcomponentsSeparatedByString:@":”];//提交请求时候分割参数的分隔符

    if([componentscount]

    >1&& [(NSString

    *)[componentsobjectAtIndex:0]isEqualToString:@"testapp"])

    {

    //过滤请求是否是我们需要的.不需要的请求不进入条件

    if([(NSString

    *)[componentsobjectAtIndex:1]isEqualToString:@"change"])

    {

    //所要执行的操作

    }

    returnNO;

    }

    returnYES;

    五.HTML中JS的写法.

    1.接收请求的方法写法

    functionfund(){

    //操作

    }

    2.提交请求的方法写法

    functionsendCommand(cmd,param){

    varurl="testapp:"+cmd+":"+param;//组合请求字符串

    document.location = url;//提交的请求

    }

    最后附上例子程序(传送阵):

    http://download.csdn.net/detail/fqcl992/692937

    文/神州iOS(简书作者)

    原文链接:http://www.jianshu.com/p/d3d8c11629ff#

    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

    相关文章

      网友评论

        本文标题:[IOS经验总结]UIWebView与JS之间的数据交互(转自神

        本文链接:https://www.haomeiwen.com/subject/fmpcdttx.html