我正在使用ThemeableBrowser插件
cordova-plugin-themeablebrowser 0.2.17 "ThemeableBrowser"
在我的Ionic 3项目中。在所有设备中它工作正常,最近我尝试更新应用程序以在iPhone X上正确显示,遵循官方的ios11清单 - https://blog.ionicframework.com/ios-11-checklist/
除了ThemeableBrowser之外,我解决了所有问题,它打开了带有负偏移量的页面。我尝试使用主题浏览器的insertCss方法建议HERE,但这也不起作用。
这是页面打开时的初始状态:
还有其他可行的解决方法吗?
答案 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;`
这解决了内容偏移
的问题