我目前有monotouch项目,它使用了Storyboard和一些xib-less(在Storyboard中没有相应的xib或引用的ViewControllers)控制器(例如Monotouch.Dialog)的组合。
一切正常,从Storyboard ViewControllers调用到xib-less。我遇到的问题是当我需要从无xib的ViewController调用回到Storyboard ViewController时。
示例流程:
问题是加载AnotherViewController时,例如。
var avc = new AnotherViewController();
avc.Person = person
_dvc.ActivateController(avc);
我必须在AnotherViewController上创建一个空构造函数才能实现这一点。然后加载此视图,但它只是一个空的UIViewController(不是我的Storyboard中的那个)。我无法使用Interface Builder中的AnotherViewController在MT.Dialog之间设置Segue,因为DialogViewController是以编程方式创建的。
解决方法atm是完全忘记Storyboard中的AnotherViewController并且只是以编程方式创建那个 - 但是真的很遗憾我无法将Storyboard视图与程序化视图结合/混合。
非常感谢任何提示(或Monotouch C#片段)!
答案 0 :(得分:0)
您可以从Storyboard
创建一个控制器,只需向其添加identifier
(在故事板中),然后执行:
YourController *c =
[storyboard instantiateViewControllerWithIdentifier:@"YourIdentifier"];
不要忘记在viewDidLoad
中初始化您的实例,因为initWithNibName
永远不会被调用