Я чувствую, что это должно быть довольно просто, но я не могу найти правильный способ сделать это после поиска в форумах.
Я просто хочу загрузить представление из другого представления. У меня есть firstViewController и secondViewController. Приложение запускается с помощью firstViewController. На этой странице есть кнопка, которая вызывает этот код:
var controller = Storyboard.InstantiateViewController("SecondViewController") as UIViewController;
PresentViewController(controller, true, null);
Это вызвано из firstViewController из этого события:
button.TouchUpInside += (object sender, EventArgs e) => {
LoadSecondView();
};
Я просто вникаю в это, так что, возможно, я просто что-то упустил, как это работает. Ошибка, которую я получаю:
"Не содержит viewcontroller с идентификатором SecondViewController"
Я позаботился обойти второй взгляд в раскадровке и назвать его.
Все, что поможет мне в правильном направлении, поможет.
Попробуйте этот код:
CallHistoryController callHistory = this.Storyboard.InstantiateViewController("CallHistoryController") as CallHistoryController;
if (callHistory != null)
{
this.NavigationController.PushViewController(callHistory, true);
}
Вы устанавливаете и ссылаетесь на правильный идентификатор раскадровки? см. раздел "Создание вручную раскадровки вручную": http://developer.xamarin.com/guides/ios/user_interface/introduction_to_storyboards/
UIStoryboard board = UIStoryboard.FromName ("PinkViewController", null);
UIViewController vc = (UIViewController)board.InstantiateViewController ("PinkViewController");