Раскадровка Monotouch с контроллерами без сгибов - PullRequest
5 голосов
/ 25 марта 2012

В настоящее время у меня есть проект monotouch, в котором используется комбинация Storyboard и некоторых контроллеров без xib (ViewControllers, у которых нет соответствующей xib или ссылки в Storyboard) (например, Monotouch.Dialog).

Все работает хорошо, обращаясь от Storyboard ViewControllers к безсибовским. У меня проблема, когда мне нужно позвонить из ViewController без Xib обратно в Storyboard ViewController.

Пример потока:

  • Раскадровка
    • TabViewController
      • FirstViewController DialogViewController (не в раскадровке / без XIB)
        • AnotherViewController

Проблема при загрузке AnotherViewController, например.

var avc = new AnotherViewController();
avc.Person = person
_dvc.ActivateController(avc);

Мне пришлось создать пустой конструктор на контроллере AnotherViewController, чтобы сделать это возможным. Затем это представление загружается, но это просто пустой UIViewController (не тот, что в моей раскадровке). Я не могу настроить переход между MT.Dialog с AnotherViewController в Интерфейсном Разработчике, потому что DialogViewController создается программно.

Обходной путь - полностью забыть AnotherViewController в раскадровке и просто программно создать его тоже, но очень жаль, что я не могу комбинировать / смешивать представления раскадровки с программными.

Любые советы (или фрагменты monotouch C #) будут высоко оценены!

1 Ответ

0 голосов
/ 13 октября 2012

Вы можете создать контроллер из Storyboard, просто добавьте identifier к нему (в раскадровке) и затем выполните:

YourController *c = 
[storyboard instantiateViewControllerWithIdentifier:@"YourIdentifier"];

не забудьте инициализировать ваши экземпляры в viewDidLoad, потому что initWithNibName никогда не будет вызываться

...