正如我的问题,我在这一点上陷入困境。实际上我的问题是,在我的示例中,我必须在应用程序启动时显示登录屏幕,如果用户成功登录他/她的凭据,他/她将重定向到主屏幕。如果用户打开应用程序第二次,我必须显示主屏幕,因为他已登录。
任何人都可以告诉我如何解决这个问题。
答案 0 :(得分:2)
首先,您需要通过打开故事板,选择窗口控制器以及在属性检查器中取消选中“是初始控制器”来阻止cocoa加载初始控制器
然后是这样的:
NSWindowController controller;
public override void DidFinishLaunching (NSNotification notification)
{
var storyboard = NSStoryboard.FromName ("Main", null);
if (true)
controller = (NSWindowController)storyboard.InstantiateControllerWithIdentifier ("FirstController");
else
controller = (NSWindowController)storyboard.InstantiateControllerWithIdentifier ("SecondController");
controller.Window.MakeKeyAndOrderFront (this);
}
使用FirstController和SecondController作为主故事板中两个NSWindowControllers的标识符。
答案 1 :(得分:0)
在AppDelegate中:
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
window = new UIWindow(UIScreen.MainScreen.Bounds);
// If you have defined a root view controller, set it here:
if(LoggedIn)
window.RootViewController = new MainController();
else
window.RootViewController = new LoginController();
// make the window visible
window.MakeKeyAndVisible();
return true;
}