Objective-C:navigationController pushViewController&发钞银行

时间:2009-12-18 02:07:56

标签: objective-c iphone iphone-sdk-3.0

我在pushViewController上遇到了一些问题。基本上到目前为止,我有一个类(UIViewController)本质上是一个UITableView(我有UITable的委托),它显示UITable罚款。现在我希望这是一个分层表,可以转到另一个控制器......

问题是,在我进行此更改之前,NIB文件由于其结构而具有文件所有者及其第二个选项卡项(因此当前控制器中没有UIApplicationDelegate但是应用程序有)。我有一个带有视图的窗口,下面有一个UITable。

所以我的第一个控制器是:

@interface PostsViewController : UIViewController{

//@private

NSFetchedResultsController          *fetchedResultsController;
UITableView                         *tableView;
UINavigationBar                     *navBar;

}

我相信我的意思是将其更改为导航控制器或其他东西,以便能够推动视图控制器顶部的导航栏向后链接?

我该怎么做呢?

由于

2 个答案:

答案 0 :(得分:1)

您的应用需要UIApplicationDelegate

在其applicationDidFinishLaunching:方法中,向窗口添加导航控制器,并将第一个UITableViewController作为根推送。

要查看代码示例,请在Xcode中创建一个新的基于导航的应用程序,并查看其applicationDidFinishLaunching:方法。

答案 1 :(得分:1)

您的初始视图控制器将是UINavigationController,而不是您当前的表视图控制器。然后将表视图控制器推到此导航控制器上。

导航控制器负责导航栏,因此您可以从PostsViewController中删除它。

你的PostsViewController会知道它何时被添加到UINavigationController;它的navigationController属性将被设置。您可以使用此属性访问当前视图控制器,以便推送和弹出其他视图控制器。