2015-03-16 3 views
0

Я создаю приложение xamarin.IOS в visual studio, где я хочу перейти к различным контроллерам представлений в зависимости от ситуации. поэтому, я добавил код для навигации, как,Невозможно перейти к новому контроллеру представления - NSInvalidArgumentException

var controller = this.Storyboard.InstantiateViewController("New") as UIViewController; 
NavigationController.PushViewController(controller, true); 

Я добавил контроллер представления в раскадровке с оба Раскадровкой идентификатора и восстановление устанавливаются на Новый. (Даже выбранный вариант использования раскадровки id).

Но я продолжаю получать ошибку

Foundation.MonoTouchException: исключение Objective-C выброшен. Имя: NSInvalidArgumentException Причина: Storyboard() не содержит контроллер отображения с идентификатором «Новый».

Как перейти к новому контроллеру. ???

ответ

0

Чтобы перейти к новому ViewController, вам нужен файл-конструктор (я использую файл .xib), Wether там есть элементы управления или нет. Вам нужно указать это имя, похожее на имя вашего ViewController (так что его легче запомнить).

При создании нового ViewController вы должны использовать метод PushViewController и в параметрах этого метода вы должны поместить ViewController, который вы хотите создать (нажать).

Так, например:

public void NewWindow() 
{ 
    this.NavigationController.PushViewController (new NewViewController(), true); 
} 

Тогда в этом NewViewController, в его конструкторе, вам необходимо обратиться конструктор в файл .xib, поэтому он знает, где это можно сделать контроль над.

Пример:

public partial class NewViewController : UIViewController 
{ 
    public NewViewController() : base ("NewViewController", null) 
    { 
    } 
} 

После этого будет сделано, вы можете следить за ваши регулярные программирования.

Надеюсь, это поможет. Удачи!

Любовь и пожелания, Björn

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