1. 程式人生 > >cordova 導致css中絕對定位top:0會被頂到檢視之外

cordova 導致css中絕對定位top:0會被頂到檢視之外

  • 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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。