我正在使用MonoTouch的故事板,并有已被指定为初始VC一个视图控制器。 我有希望从第一个VC的viewDidLoad方法编程方式显示第二VC。 Objective-C的步骤是,像这样
- 通过实例化第二VC
Storyboard.InstantiateViewController("SecondVC")
- 设置它的
ModalTransitionalStyle
- 其委托设置为自拍像
secondVC.delegate = self;
- 使用
this.PresentViewController(secondVC, true, nil)
如何做到在MonoTouch的C#代码?
我实例使用VC Storyboard.Ins..
方法没有委托或委托属性来设置。 虽然我的代码编译,我没有看到第二个观点。 我只看到第一视图
任何帮助高度赞赏
谢谢
你应该可以,如果你调用它的延迟做到这一点。 我用了一个Threading.Timer
调用PresentViewController负载之后的第二次。 至于代表,一个UIViewController没有这个属性。 你将不得不强制转换为适用于正在加载的控制器控制器类型。 然后你可以设置委托。 你可能会想设置WeakDelegate而不是委派的,如果你想使用这个(个体经营)。
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);
}
文章来源: How to programmatically load another viewController from a ViewController in MonoTouch