从UIView加载一个UINavigation控制器

我正在devise一个具有login屏幕的应用程序。 它是一个用户名/密码和提交button的UIView。 一旦用户authentication成功,我想加载一个新的xib文件,其中包含导航控制器和导航栏。 下面的酒吧我想加载一个tableView和其他视图之间切换,因为我随着它的编程。

我所做的就是创build一个从UINavigationControllerinheritance的新类,并组装xib文件以包含导航控制器。 我把它挂回到文件的所有者,我像这样模态地加载导航控制器:

myNavController* navVC = [[myNavController alloc] initWithNibName:@"navXibFile" bundle:nil]; [self presentModalViewController:navVC animated:YES]; [navVC release]; 

当导航控制器出现时,这个工作正常。 然而,即使我在IB中设置了一个,它也没有标题。 此外,tableView的代表通过IB连接,但我甚至看不到空行。 所有我看到的是一个空的导航栏在顶部和空白视图(一块)下面。

感谢您的帮助。

所以我想通了…首先这是一个devise决定权? 是由导航控制器pipe理的应用程序? 如果是的话(这是我的情况),期望主(第一个)视图,即一个login页面,所有你需要做的就是隐藏ViewdidLoad中的导航栏为主视图:

 [self.navigationController setNavigationBarHidden:YES animated:YES]; 

一旦用户login,你推入下一个视图像这样:

 MainTableViewController* mainTableVC = [[MainTableViewController alloc] initWithNibName:@"MainTableViewController" bundle:nil]; [self.navigationController pushViewController:mainTableVC animated:YES]; [mainTableVC release]; 

最后,在下一个视图控制器的ViewDidLoad中:

 [self.navigationController setNavigationBarHidden:NO animated:YES]; 

如果你的应用程序需要一个导航控制器的应用程序的特定部分,但不是全部如果它,你将需要使用VC来pipe理这个,以类似的方式appDelegatepipe理基于示例导航的示例应用程序。

我希望这可以帮助任何人围绕这里实现的devise模式进行思考。

干杯。