如何从 AppDelgate 推送 UIViewController
How to push UIViewController from AppDelgate
我正在构建一个 iOS 应用程序,其中有 4 个屏幕作为 - 验证 phone 号码、fb 登录、设置您的个人资料和主页。
现在我需要的是,如果用户已经设置了她的个人资料信息,并且在他关闭应用程序后单击下一步。在重新启动应用程序时,它应该直接导航到主屏幕,并且不应再次重复所有 3 个屏幕。
发生的情况是,屏幕 1(验证 phone 否)显示一小段时间,然后出现主屏幕。当我重新打开应用程序时,我希望在初始屏幕之后立即出现主屏幕。
我正在使用下面的代码。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UINavigationController *mvc = [storyboard instantiateViewControllerWithIdentifier:@"Home"];
[self.window.rootViewController presentViewController:mvc animated:YES completion:nil];
您需要通过 AppDelegate 设置初始视图控制器。检查您的演示文稿条款并将目标视图控制器添加为 window rootviewcontroller.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UINavigationController *navigationController;
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
if (YOUR_HOME_VIEW_PRESENTATION_LOGIC)
{
navigationController = [storyboard instantiateViewControllerWithIdentifier:@"Home"];
}
else
{
// init with your phone view
navigationController = [storyboard instantiateViewControllerWithIdentifier:@"YOUR_PHONE_VIEW_IDENTIFIER"];
}
self.window.rootViewController = navigationController;
}
您也可以尝试在没有动画的情况下展示您的控制器 - 泰国技巧会删除不需要的动画
[self.window.rootViewController presentViewController:mvc animated:NO completion:nil];
我正在构建一个 iOS 应用程序,其中有 4 个屏幕作为 - 验证 phone 号码、fb 登录、设置您的个人资料和主页。 现在我需要的是,如果用户已经设置了她的个人资料信息,并且在他关闭应用程序后单击下一步。在重新启动应用程序时,它应该直接导航到主屏幕,并且不应再次重复所有 3 个屏幕。
发生的情况是,屏幕 1(验证 phone 否)显示一小段时间,然后出现主屏幕。当我重新打开应用程序时,我希望在初始屏幕之后立即出现主屏幕。
我正在使用下面的代码。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; UINavigationController *mvc = [storyboard instantiateViewControllerWithIdentifier:@"Home"]; [self.window.rootViewController presentViewController:mvc animated:YES completion:nil];
您需要通过 AppDelegate 设置初始视图控制器。检查您的演示文稿条款并将目标视图控制器添加为 window rootviewcontroller.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UINavigationController *navigationController;
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
if (YOUR_HOME_VIEW_PRESENTATION_LOGIC)
{
navigationController = [storyboard instantiateViewControllerWithIdentifier:@"Home"];
}
else
{
// init with your phone view
navigationController = [storyboard instantiateViewControllerWithIdentifier:@"YOUR_PHONE_VIEW_IDENTIFIER"];
}
self.window.rootViewController = navigationController;
}
您也可以尝试在没有动画的情况下展示您的控制器 - 泰国技巧会删除不需要的动画
[self.window.rootViewController presentViewController:mvc animated:NO completion:nil];