iOS 状态栏将 InAppBrowser 向下推

iOS Status Bar pushing InAppBrowser down

这是环境:

- iOS 11
- Cordova 8.0.0
- cordova-plugin-inappbrowser 3.0.0 "InAppBrowser"
- cordova-plugin-statusbar 2.4.2 "StatusBar"

状态栏将InAppBrowser下推并隐藏显示网页的20px。这在 iOS 10 中运行良好。

经过几天的研究,我在这个页面上找到了答案:

CB-14024 Take into account statusbar height when toolbar is enabled

基本上这是解决方法: 在 CDVInAppBrowser.m 中查找 rePositionViews 并进行相应替换。

- (void) rePositionViews {
   if ((_browserOptions.toolbar) && ([_browserOptions.toolbarposition isEqualToString:kInAppBrowserToolbarBarPositionTop])) {
      [self.webView setFrame:CGRectMake(self.webView.frame.origin.x, TOOLBAR_HEIGHT + [self getStatusBarOffset], self.webView.frame.size.width, self.webView.frame.size.height - [self getStatusBarOffset])];
      [self.toolbar setFrame:CGRectMake(self.toolbar.frame.origin.x, [self getStatusBarOffset], self.toolbar.frame.size.width, self.toolbar.frame.size.height)];
   }
}