我正在开始我的第一个 iphone 应用程序。我正在使用 xcode 4.3.3、IOS 5 和 storyboard 的原理。
应用程序的主屏幕是一个标签栏控制器,如果用户没有登录,我想在主屏幕之前显示一个登录信息。
我找不到解决方案:如果我必须使用带有函数 didFinishLaunchingWithOptions() 的文件 AppDelegate.m 或带有函数 viewDidAppear() 或其他东西的控制器文件。
如果有人会帮助我解决问题
谢谢你。
我正在开始我的第一个 iphone 应用程序。我正在使用 xcode 4.3.3、IOS 5 和 storyboard 的原理。
应用程序的主屏幕是一个标签栏控制器,如果用户没有登录,我想在主屏幕之前显示一个登录信息。
我找不到解决方案:如果我必须使用带有函数 didFinishLaunchingWithOptions() 的文件 AppDelegate.m 或带有函数 viewDidAppear() 或其他东西的控制器文件。
如果有人会帮助我解决问题
谢谢你。
您可以使用另一个带有登录屏幕的视图并在 nsuserdeafault 中保存 Bool 值,然后当应用程序启动时检查 nsuserdefault 并据此显示视图。
然后在你可以调用任何你想要在delegate.m 或viewwillappear 中的地方之后。
尝试使用模态视图控制器,文档
在didFinishLaunchingWithOptions()
或viewWillAppear()
尝试做这样的事情:
YourViewController *viewController = [[YourViewController alloc] initWithNibName:@"YourViewController" bundle:nil];
viewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
viewController.modalPresentationStyle = UIModalPresentationFormSheet;
//Present as Model view controller
["presentedViewController" presentModalViewController:viewController animated:YES];
//release it After presenting to it
[viewController release];
然后删除它调用:(dismissModalViewControllerAnimated:
文档)
只需在您的应用程序启动时创建登录屏幕,当您的登录成功时,从那里推送您的标签栏控制器......
最好在 AppDelegate.m 中添加功能以删除未登录时出现的不需要的窗口(如果您在 ViewDidAppear 方法中编写代码,您的主页视图将在重定向到登录页面之前显示片刻)。
另一种方法是添加一个新的视图控制器,并根据视图控制器的 ViewDidAppear 方法的登录状态检查重定向的位置。