移动到另一个视图时,标签栏控制器消失(iOS SDK,使用情节提要)

我正在构build一个使用故事板的iPhone应用程序,并且对标签栏控制器有问题。 在从标签栏控制器(view1)链接的视图之一,有一个button导致另一个视图(view2)。 在View2上,有一个返回到View1的button。 非常直接。 但是当我从view1到view2,标签栏消失,更糟糕的是,当我回到View1,标签栏仍然没有…我怎样才能解决这个问题? (我还没有在应用程序中放置任何代码,只有故事板和苹果提供的AppDelegate类(也是一个主要的文件,我想,但我不打算触摸)。

任何回复高度赞赏!

如果您从标签栏视图的视图中执行模态渐变,那么它将摆脱正在呈现的模态视图的标签栏。

其次,当你继续你正在创build视图控制器的新实例。 所以我猜你正在从view1继续view2并丢失标签栏,然后你继续回到view1。 此时,您已经创build了view1,view2和没有标签栏的view1的第二个副本。

我会build议两件事之一。

1.)如果您希望在从view1到view2的范围内将标签保持在最下方,请单击屏幕顶部的view1,selectEditor / Embed In / Navigation Controller。 这会将view1embedded到导航控制器中。 然后,如果您将模式从“模式”更改为“推”,则会将标签栏保留在底部。 在顶部的导航栏也可以很容易地从视图2回到正确的方式(通过popup视图),而不是创build一个新的赛格。 如果您不喜欢导航栏,则可以在检查器中将“顶部栏”属性更改为“无”。 然后,您将需要在view2中创build一些其他方法以返回到view1。 (通过popup控制器,而不是分段)

2)如果你不想build立一个导航控制器,你将有一点点难以保持标签栏的东西在view2控制器的底部。 事实上,我不确定你是否可以用模态轮廓来完成,你可能不得不写一些types的自定义轮廓。 无论哪种方式,如果你想转换回view1,并得到正确的控制器(不是一个新的版本没有选项卡),那么你需要附加一个动作,无论你正在使用什么button继续和使用下面的代码(我也附上导航控制器的代码推动赛格,如果你创build一个导航控制器,摆脱导航栏。)

对于Modal Segue:

[self dismissModalViewControllerAnimated:YES]; 

对于推继续:

 [self.navigationController popViewControllerAnimated:YES]; 

你最好的select是使用导航控制器的方法,因为你放心,保持你的标签。 然后,您可以使用导航栏返回(简单的方法,无需代码),或者你可以摆脱它,并使用button和上面的代码。

祝你好运!

我有同样的问题,我知道这是一个老问题,但[self dismissModalViewControllerAnimated:YES]; 已在iOS 6中弃用。

我使用的是:

[self dismissViewControllerAnimated:YES completion:nil];