在没有UINavigationController的情况下将UINavigationBar添加到UITableViewController

Nic*_*ick 8 iphone uinavigationbar uitableview

我有一个以前在UINavigationController中使用的现有UITableViewController.

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

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

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

感谢您提供有关如何处理此问题的任何建议.

Bri*_*ian 15

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

但我不确定我理解为什么你不想使用导航控制器.这样做:

MyViewController *viewController = [[[MyViewController alloc] init] autorelease];
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
[self presentModalViewController:navController animated:YES];
Run Code Online (Sandbox Code Playgroud)

我在呈现模态视图时始终这样做 - 它似乎比直接在视图中包含导航栏更清晰.