gpt4 book ai didi

ios - 应用程序启动后加载不同的 View Controller

转载 作者:行者123 更新时间:2023-12-01 18:17:01 24 4
gpt4 key购买 nike

我对 Xcode 有点陌生。

一旦应用程序已经启动,我有一个关于加载不同的问题。我已经查看了过去的问题,例如我的问题,并在 appdelegate.m 中看到了这个问题的答案。文件,特别是 didFinishWithLaunchingOptions方法。

但是,答案提供的代码对我没有任何补救措施,因为我使用的是 storyboard从 Xcode 5 开始,initwithnib方法不能再使用了。

如果我的问题对你来说不是很清楚,我在 appdelegate.m 中的代码如下图所示:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
NSLog(@"not first launch");
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
}
else
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];

self.initialViewController = [[InitialViewController alloc] initWithNibName:@"InitialViewController" bundle:nil];
self.window.rootViewController = self.InitialViewController;
NSLog(@"first launch");
}
[self.window makeKeyAndVisible];



UIImage *navBackgroundImage = [UIImage imageNamed:@"nav_bg"];
[[UINavigationBar appearance] setBackgroundImage:navBackgroundImage forBarMetrics:UIBarMetricsDefault];

[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:10.0/255.0 green:10.0/255.0 blue:10.0/255.0 alpha:1.0], UITextAttributeTextColor,
[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8],UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 0)],
UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"Avenir Next" size:20.0], UITextAttributeFont, nil]];

UIPageControl *pageControl = [UIPageControl appearance];
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
pageControl.backgroundColor = [UIColor whiteColor];

return YES;
}

我在代码中遇到错误,如下所示:
enter image description here

所以,我的问题几乎是我试图在我的 appdelegate.m 中的方法中实现这段代码。 ,但我遇到了一些错误,我不知道它们为什么会发生。

这也是我的两个 View Controller 的图片,我希望它们成为初始 enter image description here View 和应用程序已加载一次后的 View :

如果它提供任何帮助:
  • 第一个 View Controller 是 UIViewController
  • 它被称为 ViewController (在身份检查器中,自定义类被命名为“Viewcontroller”)
  • 我已经实现了ViewController.h和此类的 .m 文件。
  • 第二个 View Controller 也是一个 UIViewController
  • 它被称为 SWRevealViewController (在身份检查器中,自定义类被命名为“SWRevealViewController”)
  • 我已经实现了SWRevealViewController.h以及此类的 .m 文件。
  • 最佳答案

    您可以使用 restoreIdentifier,它位于 Storyboard 标识符的正上方,是一个 UIViewController 属性。

    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
    bundle: nil];
    MyViewController *controller = (MyViewController*)[mainStoryboard
    instantiateViewControllerWithIdentifier: @"<Controller ID>"];
    self.window.rootViewController = controller;

    enter image description here

    关于ios - 应用程序启动后加载不同的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20929757/

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