在UITabBarController中对视图控制器进行重新sorting,全部在Storyboard中定义

我想改变连接到UITabBarController,在我的故事板内的视图控制器的顺序,而不必断开所有的视图控制器,并以所需的顺序重新连接它们。

我的问题:这可以通过Storyboard IB UI完成吗?

讨论

我正在寻找一些检查器面板,我可以在UITabBarControllerviewControllers属性的视图控制器列表中上下移动项目。

连接到标签栏控制器的几个视图控制器

我有很多标签,所以我希望不必断开连接并重新连接,只是为了改变顺序。

我甚至尝试在检查器中更改Bar Item上的'tag'值,但是在运行时该值也被忽略(我相信这是为了识别目的,而不是为了sorting)。

标签设置在酒吧项目上

在这里输入图像说明

你可以简单的拖放,并用故事板中的鼠标。 它仍然在4.5.1中工作

编辑

也许你首先将故事板视图切换到“源代码”,然后再拖回来。 右键单击故事板文件并select“打开为” – >“源代码”,然后再返回“打开为” – >“界面生成器 – iOS故事板”。 这应该够了吧。

编辑

不再适用于Xcode 4.5.2!

编辑

在Xcode 5预览版5中,它再次工作。 似乎苹果确实在新版本中修复了这个bug

在这里输入图像说明

如果拖放不工作,还有另一个解决方法。 在Storyboard中,我刚刚从UITabBarController中删除了所有关系,并以正确的顺序重新连接了它们。

XCode 4.5.1

不是一个经验的答案,但我有同样的问题..

我打开故事板作为源代码,重新sorting

然后以Interface Builder – iOS Storyboard的forms打开故事板

没有改变…但是

我可以拖放标签

我遇到过同样的问题。 如果我在故事板中放置了新的视图控制器或新的导航控制器,拖放在标签栏控制器中不起作用。 我closures并重新打开Xcode,并拖放到另一个时间。

我一直在Xcode 4.6.3有这个问题,但只是发现了一种方法来重新sorting我的标签。 不知道这是否适用于所有人,但在故事板左侧的导航菜单中,如果展开TabBarController,则会显示Tab Bar元素。 一旦我点击了标签栏,我就可以按照我期望的方式拖放界面构build器中的标签图标。

您可以通过转到“源代码”视图重新排列,find场景并编辑源代码。 你可以find标签栏segue并添加代码。 (右键单击项目导航器中的故事板,然后select打开为…源代码)然后返回到故事板Nib视图(右键单击项目导航器中的故事板,然后select打开为… Interface Builder-IOS故事板)

在我添加一个新的视图控制器后,Xcode 4.6.2不会让我重新sorting标签。 只需单击我的一个源代码文件,然后单击故事板文件就可以实现这一function,我可以再次编辑Tab键顺序。