iOS:UIWebView

UIWebView的使用方法

//1.创建、设置代理
    UIWebView *webView=[[UIWebView alloc] initWithFrame:CGRectMake(0, 20, 320, 300)];
    webView.delegate = self;
//2.加载网页
    NSURL *url=[NSURL URLWithString:@"http://www.google.com.hk"];
    NSURLRequest *request=[[NSURLRequest alloc] initWithURL:url];
    [webView loadRequest:request];
//3.加载本地资源
NSURL* url = [NSURL fileURLWithPath:filePath];
    NSURLRequest* request = [NSURLRequest requestWithURL:url];
    [webView loadRequest:request];
//4.是否与用户交互(即用户能不能控制webview)
    [webView setUserInteractionEnabled:YES];
//5.显示 UIWebView
    [self.view addSubview:webView];
//6.导航
    [webView goBack];//返回
    [webView goForward];//向前
    [webView reload];//重新加载数据
    [webView stopLoading];//停止加载数据
//7.自动对页面进行缩放以适应屏幕
    webView.scalesPageToFit = YES;
//8.自动检测网页上的电话号码,单击可以拨打
    webView.detectsPhoneNumbers = YES;
//9.UIWebView 还支持将一个NSString对象作为源来加载。你可以为其提供一个基础URL,来指导UIWebView对象如何跟随链接和加载远程资源
    [webView loadHTMLString:myHTML baseURL:[NSURL URLWithString:@"http://baidu.com"]];
//10.UIWebView和JS交互
//(1)在Objective-C代码中调用JS
//使用stringByEvaluatingJavaScriptFromString方法,需要等到UIWebView中的页面加载完成之后去调用。
-(void) webViewDidFinishLoad:(UIWebView *)webView{
    [self.activityViewstopAnimating];
    [myWebView stringByEvaluatingJavaScriptFromString:@"function test(){ alert(123123123)}"];
    [myWebView stringByEvaluatingJavaScriptFromString:@"test();"];//调用
}
//(2)在JS中调用Objective-C代码
    //JS代码:
    function sendCommand(cmd,param){
        var url="testapp:"+cmd+":"+param;
        document.location = url;
    }
    function clickLink(){
        sendCommand("alert","你好吗?");
    }
    //Objective-C代码:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSString *requestString = [[request URL] absoluteString];
    NSArray *components = [requestString componentsSeparatedByString:@":"];
    if ([components count] > 1 && [(NSString *)[components objectAtIndex:0] isEqualToString:@"testapp"]) {
        if([(NSString *)[components objectAtIndex:1] isEqualToString:@"alert"])
        {
            UIAlertView *alert = [[UIAlertView alloc]
                                  initWithTitle:@"Alert from Cocoa Touch" message:[components objectAtIndex:2]
                                  delegate:self cancelButtonTitle:nil
                                  otherButtonTitles:@"OK", nil];
            [alert show];
        }
        return NO;
    }
    return YES;
}
UIWebView的委托方法
//1.web视图指示加载内容时通知。应该返回YES开始加载。导航提供的类型参数,是指请求的来源,可以是下列任何一个:
//UIWebViewNavigationTypeLinkClicked     用户触击了一个链接
//UIWebViewNavigationTypeFormSubmitted   用户提交了一个表单
//UIWebViewNavigationTypeBackForward     用户触击前进或返回按钮
//UIWebViewNavigationTypeReload          用户触击重新加载的按钮
//UIWebViewNavigationTypeFormResubmitted 用户重复提交表单
//UIWebViewNavigationTypeOther           发生其它行为
-(BOOL)webView:(UIWebView *)webView  shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

//2.开始加载的时候执行该方法。
- (void)webViewDidStartLoad:(UIWebView *)webView;

//3.加载完成的时候执行该方法。
- (void)webViewDidFinishLoad:(UIWebView *)webView;

//4.加载出错的时候执行该方法。
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

UIWebView布局

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值