我正在设置第一个将出现在App Startup上的viewController。那是我的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中这样做,因为在解决了这个问题后,我必须添加其他东西......可能出错了什么?谢谢!
答案 0 :(得分:8)
·H:
@class MainViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong,nonatomic) MainViewController *mainViewController;
的.m:
#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;
}
编辑,完整的project link (zipped)(工作:))
EDIT2:
如果你正在使用Storyboard,制作一个故事板文件,并将其分配给项目的故事板,就像你在这张图片上看到的那样:主界面与你的故事板文件名相同。
而且您不必在应用代理中写任何内容:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
return YES;
}
您可以通过将此小箭头移动到想要在此图片上设置启动器的ViewController来设置起始页面:
如果你想用你的新TutorialViewController分配你的ViewController(在故事板中),就像这样:
答案 1 :(得分:1)
直到我所知道,这个问题是由 - (void)loadView 方法引起的。因此,删除或注释此方法,而是使用 - (void)viewDidLoad来加载所有内容。
答案 2 :(得分:0)
对我来说,这是因为我可能运行的是iOS 12.4,但默认情况下,iOS projet是一些Scene Delegate,它仅适用于iOS 13。