Приложение работает в симуляторе, белый экран на устройстве - PullRequest
1 голос
/ 26 января 2011

У моего приложения по умолчанию был MainWindow.xib с NavigationController. Теперь я недавно переключил его на главное окно без xib и RootViewController (подкласс UIViewController), аналогично примеру, представленному внизу HelloiPhone :

Мой Main.cs:

namespace MyApp {
  public class Application {
    static void Main(string[] args) {
      UIApplication.Main(args, null, "MyApp.AppDelegate");
    }
  }

  public class AppDelegate : UIApplicationDelegate {
    UIWindow window;

    // This method is invoked when the application has loaded its UI and its ready to run
    public override bool FinishedLaunching(UIApplication app, NSDictionary options) {
      RootViewController rootViewController = new RootViewController();

      UINavigationController navigationController = new UINavigationController(rootViewController);
      navigationController.LoadView();
      navigationController.NavigationBar.BarStyle = UIBarStyle.Black;

      window = new UIWindow(UIScreen.MainScreen.Bounds);
      window.AddSubview(navigationController.View);
      window.MakeKeyAndVisible();

      return true;
    }

    // This method is required in iPhoneOS 3.0
    public override void OnActivated(UIApplication app) {
    }

    public override void WillTerminate(UIApplication app) {
      //Save data here
    }
  }
}

Мой Info.plist:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>UILaunchImageFile</key>
    <string>images/logo_320x480.png</string>
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleBlackOpaque</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
      <string>UIInterfaceOrientationPortrait</string>
      <string>UIInterfaceOrientationPortraitUpsideDown</string>
    </array>
  </dict>
</plist>

На симуляторе все вроде хорошо. Сначала отображается стартовое изображение и, наконец, через несколько секунд появляется rootView.

Однако при развертывании на устройстве (iPod touch) rootView не отображается. Вместо этого экран становится белым после запуска изображения. (Строка состояния в верхней части все еще там)

Что-то не так с этим подходом? Я что-то упустил?

Ответы [ 2 ]

1 голос
/ 29 июня 2012

Белый экран не был связан с переходом на xib-less.

Белый экран был фактически моим rootView с белым фоном, некоторыми изображениями и некоторыми кнопками с фоновыми изображениями и белым цветом шрифта. Некоторое время назад я переименовал папку «images» в «Images» и попал в регистр на устройстве. Изображения не отображаются, а все остальное белое, поэтому я его не видел.

Если бы я тестировал устройство до перехода на xib-less, я мог бы напрямую связать его с переименованием папки.

1 голос
/ 26 января 2011
...