cordova 導致css中絕對定位top:0會被頂到檢視之外
阿新 • • 發佈:2018-11-30
- IOS7+ webview全屏導致狀態列懸浮在頁面上
解決方案:開啟ios專案/classes/MainViewController.m
,修改viewWillAppear
方法
- (void)viewWillAppear:(BOOL)animated
{
// View defaults to full size. If you want to customize the view's size, or its subviews (e.g. webView),
// you can do so here.
if([[[UIDevice currentDevice]systemVersion ] floatValue]>=7) { CGRect viewBounds=[self.webView bounds]; viewBounds.origin.y=20; viewBounds.size.height=viewBounds.size.height-20; self.webView.frame=viewBounds; } [super viewWillAppear:animated]; }
PS:更新cordova-plugin-statusbar外掛為2.2.3之後,好像失效了
暫時把配置項改成這樣
<preference name="StatusBarStyle" value="defaults" />
- ios聚焦開啟鍵盤時,webview沒有收縮高度,導致css中絕對定位top:0會被頂到檢視之外
解決方案:新增cordova-plugin-keyboard外掛,然後js呼叫外掛的方法,使開啟鍵盤時收縮webview
// 安裝cordova-plugin-keyboard
cordova plugin add cordova-plugin-keyboard
然後在deviceready事件中呼叫全域性Keyboard.shrinkView方法
document.addEventListener('deviceready', () => {
window.Keyboard.shrinkView(true);
// 其他程式碼 ............... }
- ios自動聚焦無效(例如 autofocus、jq的$(xxx).focus())
解決方案:在cordova配置檔案config.xml中增加以下配置:
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
持續更新,暫時 只碰到 || 只想起 這幾個
作者:kamifun
連結:https://www.jianshu.com/p/bf4b0a5d459a
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。