【发布时间】:2012-08-23 06:29:54
【问题描述】:
我正在使用 xCode 4.3.2 并启动了一个空白应用程序。
我有一个导航控制器和一个简单的登录控制器。我希望登录控制器成为我的根视图,因此这是用户登录时要做的第一件事。
我正在使用以下代码,当我运行应用程序时,它会显示黑屏。我输入了 LoginViewController.m->ViewDidLoad 的日志,它正在运行,我做错了什么吗? LoginViewController.xib 非常简单,它现在只包含一个按钮,一旦我弄清楚它就会切换到选项卡视图控制器.
提前致谢。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
UIViewController *loginController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
navigationController = [[UINavigationController alloc] initWithRootViewController:loginController];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window addSubview:navigationController.view];
[self.window makeKeyWindow];
return YES;
}
【问题讨论】:
-
尝试
self.window.rootViewController = navigationController,而不是将导航控制器的视图添加为窗口中的子视图。 -
@nielsbot 我试过还是黑屏。我也试过 self.window.rootViewController = loginController;并有同样的问题。这是否意味着问题出在我的 LoginViewController 中???
-
could be.. 可能要确保在您的视图控制器上调用
viewDidLoad和viewDidAppear,并检查您的视图框架以及它的父视图是否 ≠ nil -
viewDidAppear 和 viewWillAppear 都不会被命中...如何查看它的超级视图?
-
assert( view.superview )但直到 viewDidAppear: 被调用后才会设置。注意:是-viewDidAppear:,不是-viewDidAppear
标签: iphone ios xcode ios4 xcode4.3