iPhone X上的Ionic插件ThemeableBrowser偏移问题

时间:2017-12-16 18:09:37

标签: ios iphone cordova ionic3 inappbrowser

我正在使用ThemeableBrowser插件

cordova-plugin-themeablebrowser 0.2.17 "ThemeableBrowser"

在我的Ionic 3项目中。在所有设备中它工作正常,最近我尝试更新应用程序以在iPhone X上正确显示,遵循官方的ios11清单 - https://blog.ionicframework.com/ios-11-checklist/

除了ThemeableBrowser之外,我解决了所有问题,它打开了带有负偏移量的页面。我尝试使用主题浏览器的insertCss方法建议HERE,但这也不起作用。

这是页面打开时的初始状态:

还有其他可行的解决方法吗?

1 个答案:

答案 0 :(得分:3)

我通过编辑CDVThemableBrowser.m解决了这个问题 - 所有iOS设备都有一个明显的错误,它在iPhone X上更为明显,因为它具有更大的状态栏。设置webview位置的rePositionViews不会将statusBar高度添加到它的Y位置

我改变了:

- (void) rePositionViews {
  CGFloat toolbarHeight = [self getFloatFromDict:_browserOptions.toolbar withKey:kThemeableBrowserPropHeight withDefault:TOOLBAR_DEF_HEIGHT];
  CGFloat webviewOffset = _browserOptions.fullscreen ? 0.0 : toolbarHeight;`

要:

- (void) rePositionViews {
  CGFloat toolbarHeight = [self getFloatFromDict:_browserOptions.toolbar withKey:kThemeableBrowserPropHeight withDefault:TOOLBAR_DEF_HEIGHT];
  CGFloat statusBarOffset = [self getStatusBarOffset];
  CGFloat webviewOffset = _browserOptions.fullscreen ? 0.0 : toolbarHeight + statusBarOffset;`

这解决了内容偏移

的问题