Ionic Cordova - iPhone X 安全区域已更改为 iOS 13+
Ionic Cordova - iPhone X safe area has changed with iOS 13+
我正在使用 cordova、Ionic v1 和 AngularJS 1.5.3.
编写应用程序
ionic info
Ionic:
ionic (Ionic CLI) : 4.10.3 (C:\Users\User\node_modules\ionic)
Ionic Framework : ionic1 1.3.5
@ionic/v1-toolkit : 1.0.22
Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : android 8.1.0, ios 6.1.0, browser 5.0.4, windows 4.4.3
Cordova Plugins : cordova-plugin-ionic-webview 4.1.3, (and 17 other plugins)
System:
Android SDK Tools : 26.1.1 (C:\Users\User\Documents\Android\sdk)
NodeJS : v10.21.0 (C:\Program Files\nodejs\node.exe)
npm : 6.14.4
OS : Windows 10
过去新的 iPhone X 出来了,我添加了一些代码来对“安全区域”进行调整。
css
body {
padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
html
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
它为我工作了很长时间。
但是,我注意到 iPhone X 和 XR iOS 13.6 我在“安全区域”方面遇到了问题。
因为我使用的是 cordova-ios 6.1.0,所以我只使用 WkWebView。
<platform name="ios">
<preference name="WKWebViewOnly" value="true" />
我发现我必须将 safe-area-inset-bottom 乘以 4 才能取得任何进展。
$calculated_padding_bottom: calc(env(safe-area-inset-bottom) * 2);
body {
padding: env(safe-area-inset-top) env(safe-area-inset-right) $calculated_padding_bottom env(safe-area-inset-left);
}
有什么问题吗?
自 11.2 起已更改为“常量”
body {
padding: constant(safe-area-inset-top) constant(safe-area-inset-right) constant(safe-area- inset-bottom) constant(safe-area-inset-left);
}
您为什么使用 Ionic 1?
我正在使用 cordova、Ionic v1 和 AngularJS 1.5.3.
编写应用程序ionic info
Ionic:
ionic (Ionic CLI) : 4.10.3 (C:\Users\User\node_modules\ionic)
Ionic Framework : ionic1 1.3.5
@ionic/v1-toolkit : 1.0.22
Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : android 8.1.0, ios 6.1.0, browser 5.0.4, windows 4.4.3
Cordova Plugins : cordova-plugin-ionic-webview 4.1.3, (and 17 other plugins)
System:
Android SDK Tools : 26.1.1 (C:\Users\User\Documents\Android\sdk)
NodeJS : v10.21.0 (C:\Program Files\nodejs\node.exe)
npm : 6.14.4
OS : Windows 10
过去新的 iPhone X 出来了,我添加了一些代码来对“安全区域”进行调整。
css
body {
padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
html
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
它为我工作了很长时间。
但是,我注意到 iPhone X 和 XR iOS 13.6 我在“安全区域”方面遇到了问题。
因为我使用的是 cordova-ios 6.1.0,所以我只使用 WkWebView。
<platform name="ios">
<preference name="WKWebViewOnly" value="true" />
我发现我必须将 safe-area-inset-bottom 乘以 4 才能取得任何进展。
$calculated_padding_bottom: calc(env(safe-area-inset-bottom) * 2);
body {
padding: env(safe-area-inset-top) env(safe-area-inset-right) $calculated_padding_bottom env(safe-area-inset-left);
}
有什么问题吗?
自 11.2 起已更改为“常量”
body {
padding: constant(safe-area-inset-top) constant(safe-area-inset-right) constant(safe-area- inset-bottom) constant(safe-area-inset-left);
}
您为什么使用 Ionic 1?