UIWebView

来源:互联网 发布:ecjia 源码破解 编辑:程序博客网 时间:2024/05/16 23:54

- (void)viewDidLoad {

    [superviewDidLoad];

    UIButton * backButton = [UIButtonbuttonWithType:UIButtonTypeSystem];

    backButton.frame =CGRectMake(10,20, 20,20);

    [backButton setBackgroundImage:[UIImageimageNamed:@"goBackImage"]forState:UIControlStateNormal];

    [backButton addTarget:selfaction:@selector(back:)forControlEvents:UIControlEventTouchUpInside];

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItemalloc]initWithCustomView:backButton];

    

    self.webView =[[UIWebViewalloc]initWithFrame:CGRectMake(0,0, [UIScreenmainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

    _webView.backgroundColor = [UIColorclearColor];

    for (UIView * viewsin [self.webViewsubviews]) {

        if ([viewsisKindOfClass:[UIScrollViewclass]]) {

            //去掉水平方向的滑动条

            [(UIScrollView *)viewssetShowsHorizontalScrollIndicator:NO];

            //去掉垂直方向的滑动条

            [(UIScrollView *)viewssetShowsVerticalScrollIndicator:NO];

            for (UIView * inScrollViewin views.subviews) {

                if ([inScrollViewisKindOfClass:[UIImageViewclass]]) {

                    //隐藏上下滚动出边界时的黑色的图片

                    inScrollView.hidden =YES;

                }

            }

        }

    }

    NSString * urlString = [NSString stringWithFormat:@"%@xxxxxxxx",BASE_URL];

    NSURL * url = [NSURL URLWithString:urlString];

    NSURLRequest * request = [NSURLRequestrequestWithURL:url];

    _webView.delegate =self;

    [_webViewloadRequest:request];

    [self.viewaddSubview:self.webView];

}


//用苹果自带的返回键按钮处理如下(自定义的返回按钮)

- (void)back:(UIBarButtonItem *)btn

{

    if ([self.webViewcanGoBack]) {

        [self.webViewgoBack];

        

    }else{

        [self.viewresignFirstResponder];

        [self.navigationControllerpopViewControllerAnimated:YES];

    }

}



//如果是H5页面里面自带的返回按钮处理如下:

#pragma mark - webViewDelegate

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    NSString * requestString = [[requestURL] absoluteString];

    requestString = [requestString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    //获取H5页面里面按钮的操作方法,根据这个进行判断返回是内部的还是push的上一级页面

    if ([requestStringhasPrefix:@"goback:"]) {

        [self.navigationControllerpopViewControllerAnimated:YES];

    }else{

        [self.webViewgoBack];

    }

    returnYES;

}


//获取当前页面的titleurl

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

    

    [SVProgressHUDdismiss];

    NSString * title = [webViewstringByEvaluatingJavaScriptFromString:@"document.title"];//获取当前页面的title

    self.title = title;

    //获取当前网页的html

    self.currentURL = webView.request.URL.absoluteString;

    NSLog(@"title-%@--url-%@--",self.title,self.currentURL);

    NSString *lJs =@"document.documentElement.innerHTML";

    self.currentHTML = [webView stringByEvaluatingJavaScriptFromString:lJs];

}



0 0
原创粉丝点击