2016-07-07 1 views
0

전적으로 기능상으로 아이폰에 문제가없는 sencha touch 및 cordova를 사용하는 iPhone 전용 앱이 있습니다. 나가 Ipad에 그것을 달릴 때 - 그것은 상태 막대기가 보통 보인 정상에 빈 흰색 스크린을 보여준다. 460px 인 적절한 높이로 조절되지만 상단에 흰색 막대가 있습니다. iPhone 또는 iPad 시뮬레이터에서 실행하면 나타나지 않습니다. 실제 IPad 장치에서 실행할 때만 흰색 막대가 나타나고 모든 페이지에 표시됩니다. 어느 누구도이 흰 막대를 어떻게 없앨 수 있을지 전혀 모릅니다. view.html에서 뷰포트를 설정하려고했지만 그 중 하나가 작동하지 않습니다. Ipad의 Iphone 전용 앱이 상단에 빈 흰색 막대를 표시합니다.

<meta name="viewport" content="initial-scale=1.0"> 

또한 코르도바 Config.xml의
<feature name="StatusBar"> 
      <param name="ios-package" value="CDVStatusBar" onload="false" /> 
     </feature> 

을 시도했지만 소용했다.

이 외에도 전체 앱은 문제없이 잘 작동합니다.

+0

가능한 중복 https://stackoverflow.com/questions/36856687/cordova-ios-white-bar-at-top) –

답변

1

2 일 동안 많은 고생 끝에 마침내 대답을 찾았습니다. 내 프로젝트가 코드 바 상태 표시 줄 플러그인을 사용했기 때문에 index.html을 조정하여 상태 표시 줄을 사용자 정의 할 수있었습니다. 그래서 아이폰 전용 앱에서 앱 페이지 위에 빈 흰색 상태 표시 줄이있는 문제에 직면 한 사람은 누구나 문제를 해결할 수있는 링크를 여기에 있습니다 : http://www.joshmorony.com/take-complete-control-of-the-ios-status-bar-with-phonegap-build/

그래서 내가 할 일은 라인을 추가하는 것입니다. StatusBar.backgroundColorByName("black") 내 index.html에. 따라서 상태 표시 줄은 검은 색으로 나타나고 앱이 완벽하게 보일 때 배경 검정색과 병합됩니다. 이것의 몰락은 iPhone에서도 상태 표시 줄에 검은 색 배경이 나타나기를 원치 않았기 때문에 if 조건을 입력하여 장치 유형을 확인해야했습니다. 다음은이 문제를 해결 내 전체 코드는 다음과 같습니다

<script src="touch/sencha-touch-all.js"> 
    </script> 
    <!-- The line below must be kept intact for Sencha Command to build your application --> 
    <script id="microloader" type="text/javascript" src=".sencha/app/microloader/development.js"></script> 
    <script> 
    document.addEventListener('deviceready', function() { 
     setTimeout(function() { 
      navigator.splashscreen.hide(); 
      //StatusBar.styleDefault(); 
      if(Ext.os.is.Tablet) 
       { 
        StatusBar.backgroundColorByName("black"); 
       } 
      else 
      { 
       StatusBar.styleDefault(); 
      } 

     }, 1000); 
    }); 
    </script> 
[상단 코르도바 아이폰 OS 흰색 막대 (의
관련 문제