关于NJKWebViewProgress的纯代码编写。

本文介绍如何在iOS应用中使用NJKWebViewProgress库实现在UIWebView加载网页时显示进度条,通过设置代理方法更新进度,并在视图生命周期中添加和移除进度视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下:

//

//  ViewController.m

//  NJKWebViewTest

//


#import "ViewController.h"

#import "NJKWebViewProgress.h"

#import "NJKWebViewProgressView.h"


@interface ViewController ()<NJKWebViewProgressDelegate,UIWebViewDelegate>


@property (nonatomic , strong) UIWebView * webView;

@property (nonatomic , strong) NJKWebViewProgressView * progressView;

@property (nonatomic , strong) NJKWebViewProgress * progressPoxy;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

    //这一步很重要,必须先创建出来,否则你的进度条将不会动

    _webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-100)];

    _webView.center = self.view.center;

    

    _progressPoxy = [[NJKWebViewProgress alloc]init];

    _webView.delegate = _progressPoxy;

    _progressPoxy.webViewProxyDelegate = self;

    _progressPoxy.progressDelegate = self;

    

    //示例网址

    //http://58.96.180.232:80/ftl/html5/index/10.html?1451553857312

    

    _progressView = [[NJKWebViewProgressView alloc]initWithFrame:CGRectMake(0, self.navigationController.navigationBar.frame.size.height-2, self.navigationController.navigationBar.frame.size.width, 2)];

    _progressView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin;

    //初始化进度条进度

    [_progressView setProgress:0 animated:YES];

    

    [self loadWeb];

    

}

-(void)loadWeb{

    

    NSURLRequest * request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://58.96.180.232:80/ftl/html5/index/10.html?1451553857312"] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:5];

    [_webView loadRequest:request];

    [self.view addSubview:_webView];

}

#pragma mark - NJKWebViewProgressDelegate

-(void)webViewProgress:(NJKWebViewProgress *)webViewProgress updateProgress:(float)progress

{

    [_progressView setProgress:progress animated:YES];

    self.title = [_webView stringByEvaluatingJavaScriptFromString:@"document.title"];

}


-(void)viewWillAppear:(BOOL)animated{

    [super viewWillAppear:animated];

    [self.navigationController.navigationBar addSubview:_progressView];

}

-(void)viewWillDisappear:(BOOL)animated{

    [super viewWillDisappear:animated];

    [_progressView removeFromSuperview];

}






@end



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值