加载UIWebView通用方法

作者: SPIREJ | 来源:发表于2016-01-19 15:05 被阅读224次

两种加载webView的方法。


  • 方法一:直接创建一个控制器加载webView
    1.创建一个控制器
    2.遵守UIWebViewDelegate协议
    3.创建一个UIWebView对象: UIWebView *_webView;
    4.初始化_webView
    <pre>_webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
    _webView.delegate = self;
    _webView.scalesPageToFit = YES;
    [self.view addSubview:_webView];</pre>
    5.根据连接(kNetWorkUrl)请求加载_webView
    <pre>- (void)requestHtml{
    NSString *urlStr = [NSString stringWithFormat:kNetWorkUrl];
    NSURL *url = [NSURL URLWithString:urlStr];
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
    [_webView loadRequest:request];
    }</pre>

  • 方法二:万能加载,只需要传入你的地址即可帮你加载webView,且引入一个可以显示加载进度的三方库。
    1.显示进度的第三方库:NJKWebViewProgress、NJKWebViewProgressView
    2.建立一个加载webView的控制器
    3.有如下属性和方法声明
    <pre>@property(nonatomic, assign)BOOL autoFit;
    @property(nonatomic, assign)BOOL isHtml;
    @property(nonatomic, retain)UIWebView *webView; //webView
    @property(nonatomic, copy)NSString *urlStr; //地址
    @property(nonatomic, copy)NSString *titleStr; //标题
    //两种初始化方法
    -(id)initWithURL:(NSString *)url title:(NSString *)title autoFit:(BOOL)isAutoFit;
    -(id)initWithHtml:(NSString *)html title:(NSString *)title autoFit:(BOOL)isAutoFit;
    </pre>
    4.webView初始化
    5.创建进度条
    6.加载页面
    7.如何使用:(在你需要显示webView的地方,用这个类创建一个对象,跳转控制器对象即可)
    <pre>SJCommonWebViewController *webView = [[SJCommonWebViewController alloc] initWithURL:@"https://www.baidu.com" title:@"" autoFit:YES];
    [self.navigationController pushViewController:webView animated:YES];</pre>

详见代码:https://github.com/SPIREJ/SJWebViewController

相关文章

网友评论

  • 溪枫狼:第二种是设置了缓存吗?加载速度快了很多。
    SPIREJ:@溪枫狼 你好,没有设置缓存的,加载webview就是普通的请求,可能与网速有关:yum:

本文标题:加载UIWebView通用方法

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