fix 修复ios异步标题不显示的问题

This commit is contained in:
zher52 2020-09-24 11:01:05 +08:00
parent e3e70c2ffa
commit b03fa7b78e
2 changed files with 11 additions and 15 deletions

View File

@ -50,7 +50,6 @@
- (void)hide:(CDVInvokedUrlCommand*)command; - (void)hide:(CDVInvokedUrlCommand*)command;
- (void)back:(CDVInvokedUrlCommand*)command; - (void)back:(CDVInvokedUrlCommand*)command;
- (void)loadAfterBeforeload:(CDVInvokedUrlCommand*)command; - (void)loadAfterBeforeload:(CDVInvokedUrlCommand*)command;
- (void)showStatusbar:(BOOL)show; - (void)showStatusbar:(BOOL)show;
- (int)statusbarHieght; - (int)statusbarHieght;
@ -90,6 +89,7 @@
- (void)showLocationBar:(BOOL)show; - (void)showLocationBar:(BOOL)show;
- (void)showToolBar:(BOOL)show : (NSString *) toolbarPosition; - (void)showToolBar:(BOOL)show : (NSString *) toolbarPosition;
- (void)setCloseButtonTitle:(NSString*)title : (NSString*) colorString : (int) buttonIndex; - (void)setCloseButtonTitle:(NSString*)title : (NSString*) colorString : (int) buttonIndex;
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context;
- (id)initWithBrowserOptions: (CDVInAppBrowserOptions*) browserOptions andSettings:(NSDictionary*) settings andParent:(UIViewController*) parent; - (id)initWithBrowserOptions: (CDVInAppBrowserOptions*) browserOptions andSettings:(NSDictionary*) settings andParent:(UIViewController*) parent;

View File

@ -84,7 +84,7 @@ static CDVWKInAppBrowser* instance = nil;
NSLog(@"IAB.close() called but it was already closed."); NSLog(@"IAB.close() called but it was already closed.");
return; return;
} }
// Things are cleaned up in browserExit. // Things are cleaned up in browserExit.
[self.inAppBrowserViewController close]; [self.inAppBrowserViewController close];
} }
@ -709,7 +709,12 @@ static CDVWKInAppBrowser* instance = nil;
BOOL viewRenderedAtLeastOnce = FALSE; BOOL viewRenderedAtLeastOnce = FALSE;
BOOL isExiting = FALSE; BOOL isExiting = FALSE;
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if ([keyPath isEqualToString:@"title"] && object == self.webView)
{
self.titleTitle.text = self.webView.title;
}
}
- (id)initWithBrowserOptions: (CDVInAppBrowserOptions*) browserOptions andSettings:(NSDictionary *)settings andParent:(UIViewController*) parent - (id)initWithBrowserOptions: (CDVInAppBrowserOptions*) browserOptions andSettings:(NSDictionary *)settings andParent:(UIViewController*) parent
{ {
self = [super init]; self = [super init];
@ -720,8 +725,8 @@ BOOL isExiting = FALSE;
[self.webViewUIDelegate setViewController:self]; [self.webViewUIDelegate setViewController:self];
self.parent = parent; self.parent = parent;
[self createViews]; [self createViews];
[self.webView addObserver:self forKeyPath:@"title" options:NSKeyValueObservingOptionNew context:NULL];
} }
//[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(change:) name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
return self; return self;
} }
@ -792,7 +797,7 @@ BOOL isExiting = FALSE;
[self.webView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth]; [self.webView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
self.webView.allowsLinkPreview = NO; self.webView.allowsLinkPreview = NO;
self.webView.allowsBackForwardNavigationGestures = NO; self.webView.allowsBackForwardNavigationGestures = NO;
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000
if (@available(iOS 11.0, *)) { if (@available(iOS 11.0, *)) {
[self.webView.scrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever]; [self.webView.scrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
@ -981,15 +986,6 @@ BOOL isExiting = FALSE;
{ {
self.statusbar = show; self.statusbar = show;
} }
- (int)statusbarHieght
{
if(self.statusbar) {
return [[UIApplication sharedApplication] statusBarFrame].size.height;
} else {
return 0;
}
}
- (void)showLocationBar:(BOOL)show - (void)showLocationBar:(BOOL)show
{ {
CGRect locationbarFrame = self.addressLabel.frame; CGRect locationbarFrame = self.addressLabel.frame;
@ -1133,7 +1129,7 @@ BOOL isExiting = FALSE;
- (void)close - (void)close
{ {
self.currentURL = nil; self.currentURL = nil;
[self.webView removeObserver:self forKeyPath:@"title"];
__weak UIViewController* weakSelf = self; __weak UIViewController* weakSelf = self;
__weak UIViewController* weakParentSelf = self.parent; __weak UIViewController* weakParentSelf = self.parent;