根据条件用户登录服务器或不显示不同的模板。如果用户未登录到应用程序服务器,则需要显示LoginViewController [UIViewController
]否则显示TabBarViewcontroller [UITabBarViewController
]。
因为我第一次使用Storyboard。任何人都可以建议我在故事板中处理这种情况吗?
答案 0 :(得分:1)
在app delegate的application:didFinishLaunchingWithOptions:
方法中创建窗口和所需的初始视图控制器:
self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
if ([self isUserLoggedIn]) {
// Show the dashboard
self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"TabBarViewcontroller"];
} else {
// Login
self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
}
[self.window makeKeyAndVisible];
答案 1 :(得分:1)
我这样做了。
首先,您创建一个名为LoginViewController的东西。它实现了您的登录逻辑。你的根控制器是UITabBarController。
现在在AppDelegate中:
%dp0
因此,您的应用代表,检查您是否已存储通行证和登录信息。如果是,则使用它们登录并切换到根视图控制器。在我的例子中,它是一个标签,显示带有余额,交易等的几个标签
如果没有登录并通过,则在根视图控制器的顶部上显示登录视图控制器。
@session是你当前的会话。正如您在代码中看到的那样,登录正在使用排队操作。
如果您需要更多详细信息,请点击我。
答案 2 :(得分:0)
您可以通过故事板名称选择ViewController:
UIStoryboard *yourStoryboard = [UIStoryboard storyboardWithName:@"yourstoryboard"
bundle:nil];
YourViewController *vc = [yourStoryboard instantiateViewControllerWithIdentifier:@"yourViewControllerIdentifier"];
然后呈现vc
答案 3 :(得分:0)
UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@“Main”bundle:nil];
if([self isUserLoggedIn]){
//显示仪表板
self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@“first”];
} else {
// 登录
self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@“second”];
}