Iphone 加载导航控制器时出现黑屏
下面的代码试图实现一种方法,其中我的导航控制器在两个不同视图的e上启动。问题是,每当我的应用程序启动时,我总是得到一个黑屏Iphone 加载导航控制器时出现黑屏,iphone,objective-c,uiview,uinavigationcontroller,delegates,Iphone,Objective C,Uiview,Uinavigationcontroller,Delegates,下面的代码试图实现一种方法,其中我的导航控制器在两个不同视图的e上启动。问题是,每当我的应用程序启动时,我总是得到一个黑屏 #import "SugarCRMReleaseOneAppDelegate.h" #import "SettingsViewController.h" #import "ModuleViewController.h" @implementation SugarCRMReleaseOneAppDelegate @synthesize window; @synthesiz
#import "SugarCRMReleaseOneAppDelegate.h"
#import "SettingsViewController.h"
#import "ModuleViewController.h"
@implementation SugarCRMReleaseOneAppDelegate
@synthesize window;
@synthesize navigationController;
#pragma mark -
#pragma mark Application lifecycle
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after app launch
NSString *a2 = [[NSString alloc] init];
a2 = [[NSUserDefaults standardUserDefaults] objectForKey:@"savedUsername"];
NSString *b2 = [[NSString alloc] init];
b2 = [[NSUserDefaults standardUserDefaults] objectForKey:@"savedPassword"];
[window makeKeyAndVisible];
if(a2 == nil && b2 == nil) {
SettingsViewController *viewController1 = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil];
[navigationController initWithRootViewController:viewController1];
[window addSubview:[navigationController view]];
[viewController1 release];
}
else {
ModuleViewController *viewController2 = [[ModuleViewController alloc] initWithNibName:@"ModuleViewController" bundle:nil];
[navigationController initWithRootViewController:viewController2];
[window addSubview:[navigationController view]];
[viewController2 release];
}
[UIApplication sharedApplication].idleTimerDisabled=YES;
return YES;
}
如果你得到一个黑屏,那么你的窗口没有被加载 如果调用了事件,请确保您的
,并放置[window makeKeyAndVisible]代码>将子视图添加到窗口后
对我来说很好
int i = 0;
if(i == 1) {
VideosViewController *viewController1 = [[VideosViewController alloc] initWithNibName:@"VideosViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController1];
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
[viewController1 release];
}
else {
Videos2ViewController *viewController2 = [[Videos2ViewController alloc] initWithNibName:@"Videos2ViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController2];
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
[viewController2 release];
}
如果你得到一个黑屏,那么你的窗口没有被加载
如果调用了
事件,请确保您的,并放置[window makeKeyAndVisible]代码>将子视图添加到窗口后
对我来说很好
int i = 0;
if(i == 1) {
VideosViewController *viewController1 = [[VideosViewController alloc] initWithNibName:@"VideosViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController1];
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
[viewController1 release];
}
else {
Videos2ViewController *viewController2 = [[Videos2ViewController alloc] initWithNibName:@"Videos2ViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController2];
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
[viewController2 release];
}
在将导航控制器视图添加到窗口的if块后添加以下行:
[window makeKeyAndVisible];
在将导航控制器视图添加到窗口的if块后添加以下行:
[window makeKeyAndVisible];
是的,正在执行if语句,在添加子视图之后,我刚刚替换了[window makeKeyAndVisible],仍然是黑色的。听起来你有不同的问题。请参阅我的最新帖子。。这对我来说很好。是的,正在执行if语句,在添加子视图之后,我只是替换了[window makeKeyAndVisible],仍然是黑色。听起来你有不同的问题。请参阅我的最新帖子。。这对我来说效果很好。如果对每个视图取消注释viewDidLoad(除非您已经在使用它们),并在每个可能要加载的视图中放置断点,它是否达到了断点?另外,请确保将窗口实例变量设置为IBOutlet,并在MainWindow.xib接口生成器文件中,文档窗口中的应用程序委派项有一个窗口出口,它连接到同一文档窗口中的窗口对象。如果您为每个视图取消viewDidLoad注释(除非您已经在使用它们),并且在每个可能要加载的视图中放置断点,它是否达到断点,确保将窗口实例变量设置为IBOutlet,并且在MainWindow.xib界面生成器文件中,文档窗口中的应用程序代理项具有窗口出口,并且已连接到同一文档窗口中的窗口对象。