我在pushViewController上遇到了一些问题。基本上到目前为止,我有一个类(UIViewController)本质上是一个UITableView(我有UITable的委托),它显示UITable罚款。现在我希望这是一个分层表,可以转到另一个控制器......
问题是,在我进行此更改之前,NIB文件由于其结构而具有文件所有者及其第二个选项卡项(因此当前控制器中没有UIApplicationDelegate但是应用程序有)。我有一个带有视图的窗口,下面有一个UITable。
所以我的第一个控制器是:
@interface PostsViewController : UIViewController{
//@private
NSFetchedResultsController *fetchedResultsController;
UITableView *tableView;
UINavigationBar *navBar;
}
我相信我的意思是将其更改为导航控制器或其他东西,以便能够推动视图控制器顶部的导航栏向后链接?
我该怎么做呢?
由于
答案 0 :(得分:1)
您的应用需要UIApplicationDelegate
。
在其applicationDidFinishLaunching:
方法中,向窗口添加导航控制器,并将第一个UITableViewController
作为根推送。
要查看代码示例,请在Xcode中创建一个新的基于导航的应用程序,并查看其applicationDidFinishLaunching:
方法。
答案 1 :(得分:1)
您的初始视图控制器将是UINavigationController
,而不是您当前的表视图控制器。然后将表视图控制器推到此导航控制器上。
导航控制器负责导航栏,因此您可以从PostsViewController中删除它。
你的PostsViewController会知道它何时被添加到UINavigationController;它的navigationController
属性将被设置。您可以使用此属性访问当前视图控制器,以便推送和弹出其他视图控制器。