Objective-c:使用导航栏启动带有第二个视图的应用程序

时间:2011-03-30 13:56:27

标签: objective-c xcode ipad view navigationbar

我正在为Ipad创建一个应用程序,我使用导航栏创建了3个视图,但我不是在第一个视图中启动我的应用程序,而是在第二个视图中,我该怎么办?

3 个答案:

答案 0 :(得分:2)

您可以通过setViewControllers:animated:设置UINavigationController初始导航堆栈。

// in application:didFinishLaunchingWithOptions:

self.navigationController = [[UINavigationController new] autorelease];

UIViewController *first = [[MyFirstViewController new] autorelease];
UIViewController *second = [[MySecondViewController new] autorelease];
NSArray *controllers = [NSArray arrayWithObjects:first, second, nil];

[navigationController setViewControllers:controllers animated:NO];

...
[window addSubview:navigationController.view];

答案 1 :(得分:1)

在启动时以编程方式初始化导航控制器,其中2个控制器已在堆栈中:

FirstViewController *first = ...//create controller
SecondViewController *second = ...//create controller

[navigationController setViewControllers:[NSArray arrayWithObjects:first, second, nil]
                                animated:NO];

或者你也可以让你的第一个控制器在启动时推动第二个 - 请参阅Apple的DrillDownSave样本。

答案 2 :(得分:1)

跟随一些步骤:

1.打开资源文件夹或包中的MainWindow.xib

2.点击工具并打开Inspector>>选择attribute>> NIB Name - 在此处设置您的视图名称,从下拉列表>>检查员identity(来自上方标签)>>从下拉列表中再次选择class - 设置您的视图名称。

3.打开appdelegate.m个文件 将视图控制器更改为:fileviewcontrollername *viewController; 设置它的属性。

4.在didFinishLaunching appdelegate.m中添加

UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:viewController];[window insertSubview:navController.view];[self.window makeKeyAndVisible];return YES;

5.在appdelegate.h文件中添加

@class viewControllername;