ChatGPT解决这个技术问题 Extra ChatGPT

在 StoryBoard 中重新排列选项卡栏控制器顺序

在我的应用 iPhone 应用中,我有一个标签栏控制器,它与 4 个不同的表视图控制器有 4 个关系。有没有办法以图形方式重新排列 StoryBoard 中的关系顺序?我找不到办法做到这一点,我敢肯定我一定错过了一些东西!


a
abitofcode

在 4.5 添加控制器后保存情节提要,切换到另一个文件,然后返回情节提要,选项卡拖动应该再次起作用。


标签拖动!好吧,我什至不知道我们可以拖动标签。不是很直观,因为选项卡不可选择...
如果您厌倦了使用选项卡切换/关闭咒语戳 Xcode UI,请查看 JannieT 的答案。它又快又容易。
不直观,但它在 Xcode 7 中也适用于我。
如果您没有看到要拖动的项目,可能是因为您尚未设置图标。我发现它直到我设置图标才出现!
不错 :) 甚至不知道它可以拖动
I
Indy Bains

您可以通过拖放标签栏控制器中的图标来重新排列顺序


如果您使用的是自定义选项卡,即使 Tab Bar Controller 场景显示一个灰色条,您仍然可以拖放以重新排序,该条项仍然存在。当您的所有条形项目都是自定义项目时,这一点尤其不显眼。
最直接和方便的方式。适用于 Xcode 7.3.1。斯威夫特 2.2
在 Xcode 9 中工作——尽管图标是不可见的。
h
handsome

SHIFT + DRAG 适用于 Xcode 10.0


就如此容易。
简单而有效!为我节省了很多时间!谢谢!
N
Nicola

我无法使用 XCode 4.6 拖放(使用任何提到的组合)。我已经解决了它以“源代码”模式打开故事板,找到 tabBarController 并重新排列 seque 标记。


我有一个嵌套在拆分视图控制器中的标签栏控制器,因此,标签栏控制器的标签在情节提要中不可见。编辑故事板源代码对我有用。谢谢!
S
Sixto Saez

我知道 OP 正在使用 Xcode 界面生成器并要求以图形方式执行此操作,但是对于使用 Xamarin iOS Designer 的开发人员,这是我使用的一种解决方法。

在文本编辑器或使用 Xcode 中打开 .storyboard 文件,右键单击 Project Navigator 中的故事板项目并选择 Open As Source Code。在情节提要 XML 中找到 <tabBarController ...> 节点。然后我重新排列 <connections> 部分中 segues 的顺序:

<connections>
    <segue destination="274" kind="relationship" relationship="viewControllers" id="286"/>
    <segue id="943" destination="910" kind="relationship" relationship="viewControllers"/>
    <segue destination="147" kind="relationship" relationship="viewControllers" id="159"/>
</connections>

在 XML 中搜索 destination= 属性值以确定 segue 元素指向的视图控制器。


很好的解决方案。我有一个巨大的故事板,删除和重新创建转场需要一些时间
A
Aaban Tariq Murtaza

XCODE 10.1:缩放故事板。只需拖动选项卡项目。 (没有班次没有其他)


你怎么想试试这个? 😃 太棒了! 👏
F
Fogmeister

只需在标签栏中拖放标签图标即可。

即属于标签栏控制器的主标签栏。

高温高压

::EDIT:: 所以这似乎不起作用......我敢肯定它曾经。

无论如何,我发现的最简单的方法是删除选项卡并按照您希望它们显示的顺序添加它们。

希望这可以帮助。


大声笑,刚刚去测试,我错了。对不起。虽然以前做过。 1秒...
是的,我想我记得拖放确实有效,尽管我不确定!也许他们在 Xcode 中改变了一些东西..
我刚刚尝试过,只需在 Xcode 4.5 中拖动选项卡就可以了
@rdelmar 您是作为选项卡栏应用程序启动项目还是将选项卡栏视图控制器添加到单个视图应用程序?
拖放确实有效,但如果您在尝试拖放选项卡之前在情节提要中做过任何事情,它就会变得顽固。要修复它,请在 Xcode 中选择任何其他文件,然后返回您的故事板。拖放将再次起作用。无需关闭 Xcode 或重新添加控制器。
b
bryfox

如评论中所述,添加导航控制器后,拖放当前不起作用(Xcode 4.5)。但是,在添加控制器后重新启动 Xcode 似乎可以再次进行拖放操作。


T
Tom DeMille

如果您将情节提要作为“源代码视图”打开,然后将其关闭并作为 IB 视图打开,它似乎可以修复错误。


这对我有用(Xcode 8.1),在源代码视图中打开情节提要后,我终于能够拖动以重新排列。
G
Gerald

添加到每个人提供的拖放方法。我将此作为答案发布,以便我可以包含图像。在 Xcode 7.3 上试过

如果您使用自定义 tab bar item,您仍然可以拖放以重新排序,即使 Tab Bar Controller 场景显示一个灰色条,该条项仍然存在。当您的所有栏项都是自定义项时,这一点尤其不显眼

https://i.stack.imgur.com/odw8g.png


M
Michael Osofsky

我正在使用 XCode 5.1 开发 iOS 7.1,我发现以下方法适用于重新排列选项卡栏控制器中的选项卡。

要重新排列选项卡栏控制器中的选项卡,请删除选项卡栏控制器到子视图控制器的转接。然后按照您想要标签的顺序重新绘制segues。要“重新绘制”,我的意思是您控制从选项卡栏控制器到子视图控制器的拖动,并选择关系 Segue(在列表底部)=> 视图控制器。


真的。另一种方法是将 .storyboard 编辑为“源代码”,找到 segue(它们是 标签),然后重新排列它们的顺序。
m
mohsen

您可以将标签栏项目拖放到您想要的位置,如下图所示

https://i.stack.imgur.com/wgchL.png


佚名

您可以确保主情节提要中的 Tab Controller Dock 选项设置为“First Responder”,这为我解决了这个问题!


我一直在尝试其中的几个想法,因为无论我现在提出什么项目(新的或旧的),我现在都遇到了这个问题。我无法弄清楚 KayKay 的“选项卡控制器底座选项”是什么意思。有人有什么想法吗?
W
Winter

添加导航控制器后我遇到了同样的问题。

修复:关闭情节提要 (Ctrl+Cmd+W) 并执行清理构建文件夹 (Option+Cmd+Shift+K) 和常规清理 (Cmd+Shift+K)。重新打开情节提要,您将能够再次拖动项目。


N
NANNAV

在 xCode 4.6 中也是如此。我最初是在学习 beginning storyboards in ios 上的教程 在切换 TabBarController 上的项目时,我无法更改顺序。我试图保存它 - 没有用;但是,一旦我关闭 XCode 并再次打开 - 它确实有效。


S
Sreedeepkesav M S

Control + 拖动 Storyboard 中 TabBarController 中的项目并重新排列到所需位置。


我认为这是选项+拖动
R
Rachna Anil

我也在关注故事板的 raywenderlich 教程,并意识到在添加选项卡控制器后,我无法通过拖动来重新排列选项卡。好吧,显然它只是xcode中的一些错误。所以只需退出 xcode,重新启动它,这一次,您将能够拖动选项卡。


N
Nina

对我来说,拖动在 XCode 7.3.1 中也不起作用。重新启动 XCode 没有帮助。上面提到的解决方案都不适合我。

什么帮助了我:我删除了与第二个项目的关系,并从该项目 ctrl 拖动到选项卡栏控制器并创建了另一个关系。它现在自动排在第二位。


D
Digvijay Gida

删除所有带有标签栏的视图控制器。您首先需要先查看控制器,然后再将另一个视图控制器与标签栏连接。

无需重新启动 xcode,也无需更改明确的源代码文件。