2012-04-24 141 views
0

我有这样的问题:Segue公司到标签栏控制器

我有了2个部分,第一部分是当它是第一次用户打开应用程序,以“你叫什么名字”出现在屏幕的应用然后他看到一个屏幕上有一些按钮,并以一个桌面视图结束,他可以在页脚中按下一个按钮,转到该视图控制器的应用程序的另一部分,该按钮带有2个按钮:1 - 返回到第一个按钮屏幕(以什么名字命名),2 - 转到标签栏控制器。我的问题是:当我切换到标签栏控制器2导航栏的出现oO。我已经通过互联网阅读,我不能将标签栏控制器推入导航堆栈,这是真的吗?

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

在此先感谢!

+1

可能重复[可一个UIViewController推的UITabBarController?](http://stackoverflow.com/questions/3042287/can-a-uiviewcontroller-push-a-uitabbarcontroller) – CodaFi 2012-04-24 04:53:38

+1

为什么不与标签开始控制器和第一个负载模态地显示“你叫什么名字”屏幕? – danielbeard 2012-04-24 05:47:35

+0

我认为danielbeard是最好的方法 – 2012-04-24 07:43:11

回答

0

我已经读过互联网,我不能将标签栏控制器推入导航堆栈,这是真的吗?

是的,的确如此。

看看the documentation-[UINavigationController pushViewController:animated:],它说这大概需要作为一个参数的视图控制器:

这个对象不能是标签栏控制器的一个实例,它不能已经在导航堆栈上。

(着重号。)

那么,什么是我的用户界面解决方案?

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

0

我正在使用它在导航控制器顶部推送Tab控制器。只需在属性检查器上为您提供Tab Controller或Navigation Controller标识符。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UITabBarController *tab=[storyboard instantiateViewControllerWithIdentifier:@"tabController"]; 
[self.navigationController presentViewController:tab animated:YES completion:nil];