Подтвердить что ты не робот

Ионный экран заставки скрывает без замирания

Работа над моим первым проектом Ionic.

У меня нет проблем с заставкой - я могу использовать плагин CordovaSplashscreen и сказать ему скрыть(), когда релевантное решение promises; Я также могу прокомментировать это скрытие и вместо этого полагаться на AutoHideSplashScreen, являющегося истинным в файле config.xml, и позволить экрану заставки автоматически скрываться после SplashScreenDelay.

(Я перечисляю эти вещи, которые делают, поэтому ясны, что моя проблема не дублирует десятки вопросов, связанных с заставкой Ionic и Cordova/PhoneGap).

Моя проблема в том, что независимо от того, что я пытаюсь - ios, android, эмулятор, реальное устройство, используя CordovaSplashscreen для скрыть() или нет, AutoHideSplashScreen установлен в true, AutoHideSplashScreen установлен на false и т.д. - я не могу заставьте всплывающий экран исчезать, когда он исчезнет.

FadeSplashScreen, похоже, не имеет никакого эффекта, независимо от того, какая комбинация настроек config.xml, экран заставки (hide call) или вызов, эмуляция или устройство, ios или андроид, которые я использую.

Мои текущие настройки config.xml, хотя это не дает полный портрет дюжины перестановок этих значений, которые я пробовал:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.yourkids381244" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
... other code at same level of hierarchy omitted ... 
  <preference name="SplashScreen" value="screen"/>
  <preference name="AutoHideSplashScreen" value="false"/>
  <preference name="auto-hide-splash-screen" value="false"/>
  <preference name="ShowSplashScreenSpinner" value="false"/>
  <preference name="SplashScreenDelay" value="10000"/>
  <preference name="FadeSplashScreen" value="true"/>
  <preference name="FadeSplashScreenDuration" value="3.0"/>
... other code at same level of hierarchy omitted ... 
</widget>

И код из моих маршрутов app.js, который делает hide(), хотя это опять-таки не является частью проблемы; он работает, что я подтверждаю, комментируя строку hide() и устанавливая AutoHideSplashScreen на false, что успешно приводит к тому, что экран заставки никогда не скрывается; но из этого состояния я не могу скрыться, чтобы погасить экран заставки, скрываю ли я, раскомментируя строку hide(), чтобы использовать CordovaSplashscreen, или я установил AutoHideSplashScreen в true.

  .state('app.main', {
    url: "/main",
    views: {
      'menuContent': {
        templateUrl: "templates/main.html",
        controller: ['$scope', '$timeout', '$ionicGesture',
        function($scope, $timeout, $ionicGesture) {
          $scope.$on('$ionicView.loaded', function() {
            ionic.Platform.ready( function() {
              $timeout(function() {
                if(navigator && navigator.splashscreen) {
                  // note that this works fine, except for the fading
                  navigator.splashscreen.hide();    
                }
              }, 500);
            });
          });
        }],
      }
    }
  })

(ожидая комментариев об этом, не связанных с разрешением обещания, что делается в другом месте, а затем app.main представлен... суть в том, что скрытие этого способа работает, оно просто не исчезает)

Любые идеи о том, что нужно делать больше?

4b9b3361

Ответ 1

Попробуйте удалить все настройки в файле config.xml, который содержит значения splashcreen. Это мой полный список настроек config.xml:

<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="BackupWebStorage" value="none"/>

Удаление этих строк заставки должно привести к сбросу настроек по умолчанию. Таким образом, брызговик должен исчезать.