2016-05-03 3 views
0

Я бегу с 2015 года Visual Studio с Xamarin. Когда я запускаю iOS Simulator, он показывает черный экран на симуляторе. Я использую раскадровку с навигационным контроллером.Xamarin iOS Simulator, отображающий черный экран

  • У меня есть основной интерфейс, установленный на моей раскадровке.
  • Размер класса - Любой/Любая
  • Я перезапустил тренажер, побежал "Сброс содержимого и настроек"

код AppDelegate:

public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) 
    { 
     // create a new window instance based on the screen size 
     Window = new UIWindow(UIScreen.MainScreen.Bounds); 
     // If you have defined a root view controller, set it here: 
     Window.RootViewController = new Controllers.RegistrationController(); 
     // make the window visible 
     Window.MakeKeyAndVisible(); 
     return true; 
    } 

My Storyboard

(только метод с содержимым).
+0

Можете ли вы добавить код AppDelegate тоже? Также вы можете попробовать установить контрольную точку в Appdelegate, чтобы проверить, вызвана ли она. – Sreeraj

+0

Код Добавлено выше, это все, что имело код. – Adam

+0

Завершено Запуск вызова? – Sreeraj

ответ

0

Вы можете попробовать что-то вроде:

public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) 
{ 
    // create a new window instance based on the screen size 
    Window = new UIWindow(UIScreen.MainScreen.Bounds); 

    string storyboardName = "Main"; 
    UIStoryboard storyboard = UIStoryboard.FromName(storyboardName, null); 
    // if it is the first viewcontroller 
    UIViewController vc = storyboard.InstantiateInitialViewController(); 

    // If you have defined a root view controller, set it here: 
    Window.RootViewController = vc; 
    // make the window visible 
    Window.MakeKeyAndVisible(); 
    return true; 
} 

если ваша раскадровка называется Main.stroyboard попробовать использовать это:

public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) 
{ 
    return true; 
} 

Я проверил оба этих опции и оба должны работать, когда ваша Раскадровка называется Main

+0

Вы помещаете это в событие FinishedLaunching? – Adam

+0

Да Я отредактировал код для вас – Sanne

+0

Контроллер навигации должен быть начальным контроллером просмотра, не так ли? У меня установлен ViewController как корневой контроллер. Я добавил изображение своего раскадровки выше. – Adam

0

Вы должны иметь SEGUE от вашего UINavigationController для UIViewController с содержимым в нем. Если у вас нет segue, ваше приложение будет показывать черный экран, так как приложение не считает, что у него есть контент.

Если я вас правильно понял, ваша раскадровка может выглядеть следующим образом: Storyboard 1

И вам нужно создать SEGUE между двумя контроллерами зрения, так что ваш раскадровка выглядит это с SEGUE стрелкой между двумя зрения контроллеры: Storyboard 2

+0

У меня есть Seque, идущий от навигационного контроллера к контроллеру просмотра – Adam

+0

Я добавил изображение моей истории. – Adam

+0

@Adam Почему вам нужен код в AppDelegate FinishedLaunching? Обычно вы просто используете «return true» в функции FinishedLaunching, т. Е. Когда ваш раскадровка называется Main.storyboard. –

Смежные вопросы