gpt4 book ai didi

iphone - 如何开发具有登录功能的基于 TabBar 的应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:32:26 24 4
gpt4 key购买 nike

我正在开发一个应用程序,我需要在其中向用户显示一个列表作为菜单(类(class)、类(class)、成绩、注销)。所以甚至在此之前我需要显示一个登录屏幕。只有在成功且有效登录后,我才需要将用户重定向到菜单。所以我计划开发一个带有 4 个选项卡的基于 tabBar 的应用程序。在这里,我对如何在加载 TabBar Controller 之前添加登录 View Controller 感到困惑。我希望每次都选择第一个选项卡。截至目前,我正在将我的 TabBar Controller 作为 Root View Controller 添加到我的 AppDelegate 窗口,然后将登录 View Controller 作为模态视图 Controller 呈现。但是这里的问题甚至在 Login View controller 加载之前,我的 courses view controller 就加载了,因为 tabbarcontroller 首先加载了。我的实际要求是我需要根据登录 View Controller 中给出的输入,使用类(class)列表加载类(class) View Controller 。但是 loadview 当然 View Controller 甚至在登录 View Controller 的加载 View 之前加载。所以无论谁登录,我的类(class)列表总是相同的。我在这里对如何前进感到困惑......这里的任何建议都会有很大帮助......

最佳答案

所以,一个非常简单的例子可能是;在你的 loginViewController 你应该有一些像这样的方法:

//Call this after the user has done with the login
-(IBAction)remove:(id)sender{
AppDelegate *del=(AppDelegate*)[[UIApplication sharedApplication] delegate];
//Set some data based on the user's input (eg some property shared in the AppDelegate)
//del.dataEnterByTheUser=someData;
[del removeLoginView];
}

然后在您的 AppDelegate 中(假设现在 rootViewControllerloginViewController)您可以这样做(你可以优化过渡):

-(void)removeLoginView{

UITabBarController *tabVC=[[UITabBarController alloc] init];
ViewController *v1=[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
//v1.data=self.dataEnterByTheUser;
ViewController *v2=[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
NSArray *arrayVC=[NSArray arrayWithObjects:v1,v2, nil];
[tabVC setViewControllers:arrayVC];
[tabVC setSelectedViewController:0];
CGRect rectVC=self.loginViewController.view.frame;
rectVC.origin.y=self.view.frame.size.height;
[UIView animateWithDuration:0.3f delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
self.loginViewController.view.frame=rectVC;
} completion:^(BOOL finished){
[self.loginViewController.view removeFromSuperview];
self.loginViewController=nil;
self.window.rootViewController=tabVC;
}];
}

还要记住在每个 viewControllers 的 initWithNibName: 中设置 self.title 以设置 tabItem 上的标题。

关于iphone - 如何开发具有登录功能的基于 TabBar 的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10765364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com