0

我的应用是一个 5 tabviewcontroller 应用。

我想构建一个第一次运行设置例程,它将分五个步骤(5 个 UIViews)从用户那里收集信息。

这个 GUI 应该在设置过程中隐藏我的整个应用程序 GUI,就像您恢复 iPhone 并将其设置为 wi-fi、iCloud 等时发生的类似方式......

我在尝试

[self presentViewController:firstRunSetUp_1_ViewController animated:YES completion:NULL]

但这不允许我推送以下视图控制器。

更新:

这是我在 appDelegate 中的 appDidFinishLauching 中的代码:

BHfirstRunSetUp_1_ViewController *f = [[BHfirstRunSetUp_1_ViewController alloc]init];

[self.myTabBarController.selectedViewController presentViewController:f animated:NO completion:NULL];

这是 BHfirstRunSetUp_1 中“nextButtonClicked”IBAction 中的代码:

-(IBAction)nextButtonClicked:(id)sender

{
NSLog(@"inside nextButton clicked...");

// initialize second view controller:

if (firstRunSetUp_2_ViewController == nil) {

     firstRunSetUp_2_ViewController = [[BHfirstRunSepUp_2_ViewController alloc]init];

}

[self.navigationController pushViewController:firstRunSetUp_2_ViewController animated:YES];

}

我在控制台中有这些行:

2013-08-01 20:20:33.106 iNota[3245:907] 在 nextButton 内点击...

但是视图没有被推送!

这是一个屏幕截图:

http://www.idanfe.com/images/1.png “截图”

+++ 更新 2 ++++

我采用了 Apple 的 Tabster 示例并对其进行了更改,添加了我的台词。您可以在此处找到副本:

http://www.idanfe.com/sample/Tabster.zip “Tabster”

4

3 回答 3

2

推送一个 UINavigationController。例如:

UINavigationController * navigationController = [[UINavigationController alloc] initWithRootViewController:firstRunSetUp_1_ViewController];
[self presentViewController:navigationController animated:YES completion:NULL];
于 2013-08-01T22:36:32.127 回答
0

您可以将它们作为模态视图推送到部分,但建议使用 uinavigationviewcontroller,它是窗口中的 rootviewcontroller(在应用程序委托中)。

于 2013-08-01T22:56:44.340 回答
0

如果我理解您的要求,只需在第一步中展示一个导航控制器,它将显示该导航控制器的根视图控制器。然后推送到您的其他 4 个设置控制器。完成后,关闭导航控制器。

于 2013-08-02T00:30:26.670 回答