我有一个以前在UINavigationController中使用的现有UITableViewController。
我需要将其转换为模态视图。但是,我仍然希望在顶部有一个导航栏。我知道这听起来很奇怪 - 如果我想要一个UINavBar,为什么不把它呈现在UINavigationController中呢?我想在没有与我的UINavigationController关联的UITabBarController的情况下呈现它。
我尝试打开XIB,添加一个新视图,将UITableView移动为子视图,并将NavigationBar添加到该新视图中。然而,这似乎没有产生任何影响,整个tableview仍然呈现 - 没有导航栏可见。我认为这是因为该类是UITableViewController的子类。
我需要将其转换为UIViewClass吗?有没有一种很好的方法可以在代码中或通过Interface Builder向现有的UITableViewController添加导航栏?
感谢您就如何处理此问题提出任何建议。
答案 0 :(得分:15)
您是否在文件所有者视图的XIB中更改了连接?它应该指向包含导航栏和tableview的外部视图。
但我不确定我理解为什么你不想使用导航控制器。就这样做:
MyViewController *viewController = [[[MyViewController alloc] init] autorelease];
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
[self presentModalViewController:navController animated:YES];
我在呈现模态视图时始终这样做 - 它似乎比直接在视图中包含导航栏更清晰。