我在Monotouch中使用StoryBoards并且有一个ViewController,它被指定为初始VC.我有第二个VC,我想从第一个VC的ViewDidLoad方法以编程方式显示.Objective-C步骤就是这样
Storyboard.InstantiateViewController("SecondVC")ModalTransitionalStylesecondVC.delegate = self;this.PresentViewController(secondVC, true, nil)如何在MonoTouch C#代码中实现这一目标?
我使用Storyboard.Ins..方法实例化的VC 没有要设置的委托或Delegate属性.虽然我的代码编译,但我没有看到第二个视图.我只看到第一个视图
任何帮助高度赞赏
谢谢
hol*_*mes 10
如果你延迟调用它,你应该可以这样做.我使用a Threading.Timer在加载后第二次调用PresentViewController.对于委托,UIViewController没有该属性.您必须转换为适用于您正在加载的控制器的控制器类型.然后你可以设置委托.如果要使用此(self),您可能希望设置WeakDelegate而不是Delegate.
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
Timer tm = new Timer (new TimerCallback ( (state)=> {
this.InvokeOnMainThread (new NSAction (()=> {
UIStoryboard board = UIStoryboard.FromName ("MainStoryboard", null);
UIViewController ctrl = (UIViewController)board.InstantiateViewController ("Number2VC");
ctrl.ModalTransitionStyle = UIModalTransitionStyle.CrossDissolve;
this.PresentViewController (ctrl, true, null);
}));
}), null, 1000, Timeout.Infinite);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10269 次 |
| 最近记录: |