1

我正在设置第一个 viewController,它将出现在 App Startup 上。那是我的 AppDelegate.h:

#import "AppDelegate.h"
#import "TutorialController.h" // a simple UIViewController

@implementation AppDelegate

@synthesize window;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    window.rootViewController = [[TutorialController alloc] init];

    [window makeKeyAndVisible];

    return YES;
}

它没有发出任何警报,但是启动应用程序,在启动画面之后,它只出现一个黑屏。没有该代码,一切正常。我不能在 StoryBoard 中这样做,因为在解决了这个问题之后,我必须添加其他东西......可能出了什么问题?谢谢!

已解决:使用 followben 的回复解决。

4

3 回答 3

8

。H:

@class MainViewController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong,nonatomic) MainViewController *mainViewController;

米:

#import "MainViewController.h"

@implementation AppDelegate
@synthesize mainViewController;


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{


    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
    self.window.rootViewController = self.mainViewController;
    [self.window makeKeyAndVisible];
    return YES;
}

编辑,带有完整的项目链接(压缩)(工作:))

编辑2:

如果您正在使用 Storyboard,请制作一个故事板文件,并将其分配给项目的故事板,就像您在这张图片中看到的那样:主界面与您的故事板文件名相同。

在此处输入图像描述 而且您不必在您的应用程序委托中写入任何内容:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    return YES;
}

您可以通过将此小箭头移动到要设置启动器的 ViewController 来设置起始页,如下图所示:

在此处输入图像描述

如果你想用你的新 TutorialViewController 分配你的 ViewController(在 storyboard 中),请像这样:

在此处输入图像描述

于 2013-10-21T17:45:00.470 回答
1

据我所知,这个问题是由于-(void)loadView方法而发生的。所以删除或注释这个方法,而是使用 - (void)viewDidLoad 来加载所有内容。

于 2015-07-03T04:46:18.120 回答
0

对我来说,这可能是因为我可能运行的是 iOS 12.4,但在默认的 iOS 项目中是一些场景委托,它被注释为仅适用于 iOS 13。通过制作不工作的代码,让开发人员感到困惑的苹果做得很好。

于 2020-09-15T11:37:10.970 回答