Skip to content

Commit c0106ea

Browse files
committed
1.1.7
1. Add life cycle event 2. add refresh previous method
1 parent 14b470a commit c0106ea

File tree

4 files changed

+46
-4
lines changed

4 files changed

+46
-4
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ source 'https://github.com/CocoaPods/Specs.git'
2020
platform :ios, '9.0'
2121
2222
target 'TargetName' do
23-
pod 'ZFWKWebView', '~> 1.1.6'
23+
pod 'ZFWKWebView', '~> 1.1.7'
2424
end
2525
```
2626
Then, run the following command:

ZFWKWebView.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
Pod::Spec.new do |s|
1111
s.name = "ZFWKWebView"
12-
s.version = "1.1.6"
12+
s.version = "1.1.7"
1313
s.summary = "No short description of ZFWKWebView."
1414
s.homepage = "https://github.com/FranLucky/ZFWKWebView"
1515
s.license = { :type => "MIT", :file => "LICENSE"}

ZFWKWebView/ZFWKWebVC.h

+7
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventRightButtonClickKey;
3535
UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventGoBackKey;
3636
UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventGoForwardKey;
3737

38+
UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventViewWillAppear;
39+
UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventViewWillDisappear;
40+
UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventViewDidDisappear;
41+
UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventViewDidLoad;
42+
UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventViewWillLayoutSubviews;
43+
3844
@interface ZFWKWebVCConf : NSObject
3945
/**
4046
* ZFWKWebVCPopTypePervious => popViewControllerAnimated (default)
@@ -100,6 +106,7 @@ UIKIT_EXTERN ZFWKWebViewEventKey const ZFWKWebViewEventGoForwardKey;
100106

101107
- (void)evaluateJavaScriptMethodName:(NSString *)name params:(id _Nullable)params callback:(void (^ _Nullable)(id _Nullable body, NSError * _Nullable error))callback;
102108
- (void)removeUserScript:(NSString *)script;
109+
- (void)reloadPreviousRequest;
103110

104111
@property (nonatomic, strong, readonly) WKWebView *webView;
105112
@property (nonatomic, strong, nullable) ZFWKWebVCBottomBar *bottomBar;

ZFWKWebView/ZFWKWebVC.m

+37-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@
2929
NSString * const ZFWKWebViewEventGoBackKey = @"ZFWKWebViewEventGoBackKey";
3030
NSString * const ZFWKWebViewEventGoForwardKey = @"ZFWKWebViewEventGoForwardKey";
3131

32+
NSString * const ZFWKWebViewEventViewWillAppear = @"ZFWKWebViewEventViewWillAppear";
33+
NSString * const ZFWKWebViewEventViewWillDisappear = @"ZFWKWebViewEventViewWillDisappear";
34+
NSString * const ZFWKWebViewEventViewDidDisappear = @"ZFWKWebViewEventViewDidDisappear";
35+
NSString * const ZFWKWebViewEventViewDidLoad = @"ZFWKWebViewEventViewDidLoad";
36+
NSString * const ZFWKWebViewEventViewWillLayoutSubviews = @"ZFWKWebViewEventViewWillLayoutSubviews";
37+
3238
static inline BOOL isIPhoneXSeries() {
3339
BOOL iPhoneXSeries = NO;
3440
if (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPhone) return iPhoneXSeries;
@@ -278,14 +284,26 @@ - (void)removeJS {
278284
}
279285
- (void)viewWillAppear:(BOOL)animated {
280286
[super viewWillAppear:animated];
287+
288+
zf_wkWebViewEventCallBack callback = self.config.callbacks[ZFWKWebViewEventViewWillAppear];
289+
if (callback) callback(self, self.config, nil);
290+
281291
[self addJS];
282292
}
283293
- (void)viewWillDisappear:(BOOL)animated {
284294
[super viewWillDisappear:animated];
295+
296+
zf_wkWebViewEventCallBack callback = self.config.callbacks[ZFWKWebViewEventViewWillDisappear];
297+
if (callback) callback(self, self.config, nil);
298+
285299
[self removeJS];
286300
}
287301
- (void)viewDidDisappear:(BOOL)animated {
288302
[super viewDidDisappear:animated];
303+
304+
zf_wkWebViewEventCallBack callback = self.config.callbacks[ZFWKWebViewEventViewDidDisappear];
305+
if (callback) callback(self, self.config, nil);
306+
289307
}
290308
- (void)viewDidLoad {
291309
[super viewDidLoad];
@@ -380,6 +398,11 @@ - (void)viewDidLoad {
380398
self.loadFailedView.imageView.image = self.config.refreshButtonImage;
381399
[self.loadFailedView.hoverButton addTarget:self action:@selector(refresh) forControlEvents:UIControlEventTouchUpInside];
382400
[self.view addSubview:self.loadFailedView];
401+
402+
403+
zf_wkWebViewEventCallBack callback = self.config.callbacks[ZFWKWebViewEventViewDidLoad];
404+
if (callback) callback(self, self.config, nil);
405+
383406
}
384407

385408
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {
@@ -486,6 +509,10 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N
486509

487510
- (void)viewWillLayoutSubviews {
488511
[super viewWillLayoutSubviews];
512+
513+
zf_wkWebViewEventCallBack callback = self.config.callbacks[ZFWKWebViewEventViewWillLayoutSubviews];
514+
if (callback) callback(self, self.config, nil);
515+
489516
float y = 0;
490517
float navHeight = 64;
491518
if (isIPhoneXSeries()) {
@@ -536,13 +563,21 @@ - (void)rightButtonClick:(UIButton *)button {
536563
if (callback) callback(self, self.config, button);
537564
}
538565

566+
- (void)reloadPreviousRequest {
567+
[self refresh];
568+
}
569+
539570
- (void)refresh {
540571
self.titleLabel.text = [ZFWKWebVCConf localizedStringForKey:@"Loading..."];
541572
zf_wkWebViewEventCallBack callback = self.config.callbacks[ZFWKWebViewEventRefreshKey];
542573
if (callback) callback(self, self.config, nil);
543574
[self.webView stopLoading];
544-
NSURLRequest *req = [[NSURLRequest alloc] initWithURL:self.previousURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:self.config.timeoutDuration];
545-
[self.webView loadRequest:req];
575+
if (self.previousURL) {
576+
NSURLRequest *req = [[NSURLRequest alloc] initWithURL:self.previousURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:self.config.timeoutDuration];
577+
[self.webView loadRequest:req];
578+
} else {
579+
[self.webView reload];
580+
}
546581
}
547582
- (void)goBack {
548583
if ([self.webView canGoBack]) [self.webView goBack];

0 commit comments

Comments
 (0)