使用MonoTouch,我向窗口添加了一个LogonViewController,并在FinishedLaunching上显示:
window = new UIWindow(UIScreen.MainScreen.Bounds);
window.RootViewController = new LogonViewController();
window.MakeKeyAndVisible();如何在LogonViewController,中添加名为MainViewContoller的主VC并删除LogonViewController?(这是用户登录后将发生的操作。)
发布于 2013-05-10 08:13:24
即使可以替换window.RootViewController,但这并不是通常的做法。大多数情况下,您定义RootViewController并从那里处理导航(包括登录)。至少我就是这么做的。
//AppDelegate.cs
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
window.RootViewController = new MainViewController ();
window.MakeKeyAndVisible ();
return true;
}
//MainViewController.cs
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
if (not_logged_in)
PresentViewController (new LoginViewController (), true, ()=>{});
}发布于 2013-05-13 01:30:54
不管它有什么价值,这就是我以前做过的事情。
public static void swapRootView(UIViewController newView, UIViewAnimationOptions opt)
{
UIView.Transition(mainWindow, 0.5, opt, delegate{
mainWindow.RootViewController = newView;
},null);
}然后,在登录后,使用此选项调用该方法。
swapRootView(yourNewViewController, UIViewAnimationOptions.TransitionFlipFromRight);https://stackoverflow.com/questions/16472113
复制相似问题