简体   繁体   中英

Rearranging Tab Bar Controller Order in StoryBoard

In my app iPhone app I have a Tab Bar Controller with 4 relationships to 4 different Table View Controllers. Is there a way to rearrange the order of the relationship in the StoryBoard graphically? I can't find a way to do this and I'm sure I must be missing something!

在 4.5 添加控制器后保存故事板,切换到另一个文件,然后回到故事板,标签拖动应该再次起作用。

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

SHIFT + DRAG适用于 Xcode 10.0

I was not able to drag&drop with XCode 4.6 (with any of mentioned cobination). I have solved it opening the storybord in " Source Code " mode, locating the tabBarController and rearranging the seque tag.

I know the OP is using Xcode interface builder and asking for a graphical way to do this, but for developers working with Xamarin iOS Designer, here is a workaround that I use.

Open the .storyboard file in a text editor or using Xcode, right click on the storyboard item in Project Navigator and select Open As Source Code. In the storyboard XML locate the <tabBarController ...> node. Then I rearrange the order of the segues in the <connections> section:

<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>

Search for the destination= attribute value in the XML to determine which view controller the segue element is pointing at.

Just drag and drop the tab icons in the tab bar.

ie the main tab bar that belongs to the tab bar controller.

HTH

::EDIT:: So this doesn't seem to work... I'm sure it used to.

Anyway, the easiest way I found is to remove the tabs and add them back in the order you want them to show.

Hope this helps.

XCODE 10.1: Zoom the story board. Simply drag tab items. (No shift no other)

As noted in comments, drag & drop doesn't currently work (Xcode 4.5) after adding a navigation controller. However, restarting Xcode after adding the controller seems to get drag & drop working again.

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

To add on to the drag and drop method provided by everyone. I posted this as an answer so that I can include images. Tried on Xcode 7.3

If you are using custom tab bar item , you can still drag and drop to reorder even though the Tab Bar Controller scene shows a grey bar, the bar item is still there. This is especially inconspicuous when all your bar item are custom items

在此处输入图片说明 描述

I'm using XCode 5.1 for development of iOS 7.1 and I found the following approach works for rearranging the tabs in a Tab Bar Controller.

To rearrange the tabs in a Tab Bar Controller, delete the segues from the Tab Bar Controller to your sub-view controllers. Then re-draw the segues in the order you want the tabs. To "re-draw" I mean you control drag from the Tab Bar Controller to the sub-view controller and select Relationship Segue (at bottom of list) => view controllers.

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

I had the same issue after adding a Navigation Controller.

Fix: close the storyboard (Ctrl+Cmd+W) and do a clean build folder (Option+Cmd+Shift+K) and a regular clean (Cmd+Shift+K). Reopen the storyboard and you'll be able to drag the items again.

You can just drag tab bar item and drop it in the place that you want, like the beneath picture

在此处输入图片说明

Same thing is in xCode 4.6. I originally was following tutorial on beginning storyboards in ios At the point to swith the item on TabBarController, I could't change the order. I tried to save it - didn't work; however, Once I closed the XCode and open again - it DID WORK.

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

I was following the raywenderlich tutorial for storyboards too and realised that after adding the tab controller i couldn't rearrange the tabs by dragging it. Well, apparently its just some bug in xcode. So just quit xcode, restart it and this time, you will be able to drag the tabs.

For me dragging did not work either in XCode 7.3.1. Restarting XCode did not help. And none of the above mentioned solutions worked for me.

What helped me: I deleted the relationship to the second item and ctrl-dragged from that item to the Tab Bar Controller and created another relationship. It was automatically in the second place now.

Remove all viewcontrollers sequge with tabbar. You need first viewcontroller first segue then another viewcontroller connect with tabbar.

No restart xcode & no clear source code file in change require.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM