0

我有这个问题:

我有一个包含 2 个部分的应用程序,第一部分是当用户第一次打开应用程序时,会出现一个带有“你叫什么名字”的屏幕,然后他跟随一个有一些按钮的屏幕,它以一个表格视图结束他可以按下页脚中的按钮转到应用程序的另一部分,该部分是具有 2 个按钮的视图控制器:1 - 返回第一个按钮屏幕(在你的名字之后),2 - 转到标签栏控制器。我的问题是:当我转到标签栏控制器 2 导航栏时出现 oO。我通过互联网阅读了我无法将标签栏控制器推入导航堆栈,这是真的吗?

那么我的 UI 的解决方案是什么?因为我希望用户能够返回到那个测试屏幕,但我也想使用这个标签栏控制器。

提前致谢!

4

2 回答 2

0

我正在使用它来将选项卡控制器推到导航控制器的顶部。只需在属性检查器上为您提供选项卡控制器或导航控制器的标识符。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UITabBarController *tab=[storyboard  instantiateViewControllerWithIdentifier:@"tabController"];
[self.navigationController presentViewController:tab animated:YES completion:nil];
于 2015-04-27T09:24:30.890 回答
0

我通过互联网阅读了我无法将标签栏控制器推入导航堆栈,这是真的吗?

对,是真的。

看一下的文档-[UINavigationController pushViewController:animated:]它说明了它作为参数的视图控制器:

此对象不能是选项卡栏控制器的实例,并且它不能已经在导航堆栈上。

(强调补充。)

那么我的 UI 的解决方案是什么?

以不同的方式组织您的应用程序。一种方法是将选项卡控制器设置为您的根控制器,并在应用程序首次启动时以模态方式呈现初始视图控制器。如果用户需要返回那里,请提供一个按钮或其他方式再次以模态方式显示初始视图控制器。或者只是将初始屏幕设置为另一个选项卡,以便用户可以随时返回它。

于 2013-07-11T07:02:50.343 回答