我正在设置FIrst视图控制器,它将显示在我的App Startup上。它应该首次作为教程出现在UIView中,并且从第二次看起来是另一个标准视图。 在AppDelegate中我写了这个:
#import "AppDelegate.h"
#import "TabBarController.h"
#import "TutorialController.h"
@implementation AppDelegate
@synthesize window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if ([@"1" isEqualToString:[[NSUserDefaults standardUserDefaults] objectForKey:@"Startup"]]) {
TabBarController * viewControllerStandard = [[TabBarController alloc] init];
window.rootViewController = viewControllerStandard;
} else {
TutorialController * viewControllerFirst = [[TutorialController alloc] init];
window.rootViewController = viewControllerFirst;
}
[window makeKeyAndVisible];
return YES;
}
它不会返回任何警报,但启动应用程序后,在启动画面后,它只显示黑屏。没有这些代码一切正常。可能有什么不对?谢谢!
编辑:我正在使用Storyboard!答案 0 :(得分:1)
您需要初始化视图控制器。例如
#import "AppDelegate.h"
#import "TabBarController.h"
#import "TutorialController.h"
@implementation AppDelegate
@synthesize window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if ([@"1" isEqualToString:[[NSUserDefaults standardUserDefaults] objectForKey:@"Startup"]]) {
TabBarController *viewControllerStandard = [[TabBarController alloc] init];
window.rootViewController = viewControllerStandard;
[viewControllerStandard release]; //for non-arc
} else {
TutorialController * viewControllerFirst = [[TutorialController alloc] init];
window.rootViewController = viewControllerFirst;
[viewControllerFirst release]; //for non-arc
}
[window makeKeyAndVisible];
return YES;
}
答案 1 :(得分:0)
你没有实现viewControllerStandard。除非它是在Interface Builder中构建的,否则你需要这样的东西。
self.viewControllerStandard = [[TabBarController alloc] init];
self.viewControllerFirst = [[TutorialController alloc] init];
[self.viewController setViewControllers:@[self.viewControllerFirst] animated:NO];
window.rootViewController = self.viewControllerStandard;