2010-10-27 68 views
8

我有一个现有的UITableViewController以前在UINavigationController中使用。UINavigationBar添加到UITableViewController没有UINavigationController

我需要将其转换为模态视图。不过,我仍然希望在顶部有一个导航栏。我知道这听起来很奇怪,为什么不在UINavigationController中显示它,如果我想要一个UINavBar?我想在没有与我的UINavigationController关联的UITabBarController的情况下呈现它。

我试着打开XIB,添加一个新的视图,将UITableView移动到一个子视图,并将NavigationBar添加到该新视图。然而,这似乎没有产生任何影响,整个tableview仍然呈现 - 没有导航栏可见。我认为这是因为该类是UITableViewController的子类。

我是否需要将其转换为UIViewClass?有没有一种很好的方法在代码中或通过Interface Builder添加导航栏到现有的UITableViewController?

感谢您对如何解决这个问题的任何建议。

回答

15

您是否更改了文件的所有者视图在XIB中的连接?它应该指向包含navbar和tableview的外部视图。

但我不知道我明白你为什么不想使用导航控制器。只是这样做:

MyViewController *viewController = [[[MyViewController alloc] init] autorelease]; 
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease]; 
[self presentModalViewController:navController animated:YES]; 

我这个做呈现模式的看法时,所有的时间 - 它似乎比在视图中直接包括导航栏更清洁。

+0

谢谢。这对我来说是一个额头拍板。非常有意义。 – Nick 2010-10-27 17:03:47

+0

如果可以的话,我会将这个答案放大10次。 – Alyoshak 2012-02-01 23:09:34

相关问题