StoryBoardでのタブバーコントローラーの順序の再配置


165

私のアプリのiPhoneアプリには、4つの異なるテーブルビューコントローラーと4つの関係を持つタブバーコントローラーがあります。StoryBoardで関係の順序をグラフィカルに再配置する方法はありますか?私はこれを行う方法を見つけることができず、何かを逃しているに違いないと確信しています!


回答:


254

4.5では、コントローラーの追加後にストーリーボードを保存し、別のファイルに切り替えてからストーリーボードに戻ると、タブのドラッグが再び機能するはずです。


45
タブドラッグ!タブをドラッグできるかどうかさえ知りませんでした。タブは選択できないため、あまり直感的ではありません...
Pierre de LESPINAY 14年

1
タブ切り替え/クローズの呪文でXcode UIを突っ込んで飽きたら、JannieTの答えを見てください。迅速かつ簡単です。
Sixto Saez

わかりにくいが、それはXcodeの7中にも私のために働いた
zeeple

ドラッグするアイテムが表示されない場合は、まだアイコンを設定していない可能性があります。アイコンを設定するまで表示されないことがわかりました。
ブライアン

1
nice :)それがドラッグ可能であることさえ知らなかった
Amr Angry

132

タブバーコントローラーのアイコンをドラッグアンドドロップするだけで、順序を並べ替えることができます


4
カスタムタブを使用している場合は、Tab Bar Controllerシーンに灰色のバーが表示されていても、ドラッグアンドドロップで並べ替えることができますが、バーアイテムはそのままです。これは、すべてのバーアイテムがカスタムアイテムの場合は特に目立ちません。
ジェラルド

最も簡単で便利な方法。Xcode 7.3.1で動作します。Swift 2.2
Mark Ba​​rrasso

Xcode 9で動作しますが、アイコンは表示されませんでした。
チェザーレ


15

XCode 4.6(前述の組み合わせのいずれか)でドラッグ&ドロップできませんでした。私はそれが「でstorybordを開いて解決したソースコード、」モード位置tabBarControllerをし、再配置sequeタグを。


分割ビューコントローラーにタブバーコントローラーがネストされているため、タブバーコントローラーのタブがストーリーボードに表示されません。ストーリーボードのソースコードを編集するのがうまくいきました。ありがとう!
スコットガードナー

14

OPがXcodeインターフェイスビルダーを使用しており、これをグラフィカルに行う方法を求めていることは知っていますが、Xamarin iOS Designerを使用する開発者向けに、私が使用する回避策を示します。

テキストエディターまたはXcodeを使用して.storyboardファイルを開き、Project Navigatorでストーリーボード項目を右クリックして、[ ソースコードとして開く]を選択します。ストーリーボードXMLで<tabBarController ...>ノードを見つけます。次に、<connections>セクションのセグエの順序を並べ替えます。

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

destination=XMLで属性値を検索して、セグエ要素が指しているビューコントローラーを特定します。


1
素晴らしいソリューション。私は巨大なStoryBoardを持っていて、セグエを削除して再作成する
のに

10

タブバーのタブアイコンをドラッグアンドドロップするだけです。

つまり、タブバーコントローラに属するメインタブバーです。

HTH

::編集::だからこれはうまくいかないようです...私はそれが昔は確かだったと確信しています

とにかく、私が見つけた最も簡単な方法は、タブを削除して、表示したい順序で追加し直すことです。

お役に立てれば。


笑、ただテストに行って、私は間違っていました。ごめんなさい。前にこれを行ったことがあります。1秒...
Fogmeister 2012

確かに、ドラッグアンドドロップは確かに機能しなかったと思います。おそらく彼らは、.. Xcodeで何かを変更
BigLex

私は試してみましたが、Xcode 4.5でタブをドラッグするだけでうまく
いきました

@rdelmarあなたはプロジェクトをタブバーアプリケーションとして始めましたか、それともタブバービューコントローラーを単一のビューアプリケーションに追加しましたか?
BigLex 2012

5
ドラッグアンドドロップは機能しますが、タブをドラッグアンドドロップする前にストーリーボードで何かを行った場合、それは頑固になります。それを修正するには、Xcodeで他のファイルを選択してから、ストーリーボードに戻ります。ドラッグアンドドロップが再び機能します。Xcodeを閉じたり、コントローラーを再度追加したりする必要はありません。
12

9

コメントに記載されているように、ナビゲーションコントローラーを追加した後、ドラッグアンドドロップは現在機能しません(Xcode 4.5)。ただし、コントローラーを追加した後にXcode再起動すると、ドラッグアンドドロップが再び機能するようになります。


8

XCODE 10.1:ストーリーボードをズームします。タブ項目をドラッグするだけです。(他にシフトなし)


2
これを試してみてどう思いましたか?😃すばらしい!👏
GarySabo

7

ストーリーボードを「ソースコードビュー」として開き、それを閉じてIBビューとして開くと、バグが修正されるようです。


これは私にとっては機能しました(Xcode 8.1)。ソースコードビューでストーリーボードを開いた後、ようやくドラッグして再配置することができました。
Undrea 2016年

7

全員が提供するドラッグアンドドロップメソッドに追加します。画像を含めることができるように、これを回答として投稿しました。Xcode 7.3で試した

カスタムを使用している場合tab bar itemTab Bar Controllerシーンに灰色のバーが表示されていても、ドラッグアンドドロップで並べ替えることができますが、バーアイテムはそのままです。これは、すべてのバーアイテムがカスタムアイテムの場合は特に目立ちません

ここに画像の説明を入力してください 解説


4

iOS 7.1の開発にXCode 5.1を使用していますが、次のアプローチがタブバーコントローラーのタブを再配置するために機能することがわかりました。

タブバーコントローラーのタブを再配置するには、タブバーコントローラーからサブビューコントローラーへのセグエを削除します。次に、タブを希望する順序でセグエを再描画します。「再描画」するには、Tab Bar Controllerからサブビューコントローラーへのドラッグを制御し、Relationship Segue(リストの一番下)=>ビューコントローラーを選択します。


3
本当。これを行う別の方法は、.storyboardを「ソースコード」として編集し、セグエ(それらは<segue>タグです)を見つけて、それらの順序を再配置することです。
voghDev 2014

3

メインストーリーボードの[タブコントローラードック]オプションが[ファーストレスポンダー]に設定されていることを確認してください。


私はこれらのアイデアのいくつかを試してきました。私が今持っているプロジェクト(新しいものか古いものか)に関係なく、この問題を抱えているからです。「タブコントローラードックオプション」でKayKayが何を意味するのか理解できません。誰かアイデアはありますか?
LaurelS 2015年

3

ナビゲーションコントローラーを追加した後も同じ問題が発生しました。

修正:ストーリーボードを閉じ(Ctrl + Cmd + W)、クリーンビルドフォルダー(Option + Cmd + Shift + K)と通常のクリーン(Cmd + Shift + K)を実行します。ストーリーボードを再度開くと、アイテムを再びドラッグできるようになります。


1

同じことがxCode 4.6にもあります。私はもともと iOSでストーリーボード開始するチュートリアルを行っていましたが、TabBarControllerの項目を変更する時点で、順序を変更できませんでした。保存しようとしましたが、うまくいきませんでした。ただし、XCodeを閉じて再度開くと、正常に機能しました。


1

Control +ストーリーボードのTabBarControllerのアイテムをドラッグして、目的の位置に再配置します。


オプション+ドラッグだと思います
GGirotto

0

私もストーリーボードのraywenderlichチュートリアルに従っていて、タブコントローラーを追加した後、ドラッグしてタブを並べ替えることができないことに気付きました。まあ、どうやらそれはxcodeの単なるいくつかのバグです。xcodeを終了して再起動するだけで、今度はタブをドラッグできるようになります。


0

私にとって、ドラッグはXCode 7.3.1でも機能しませんでした。XCodeの再起動は役に立ちませんでした。そして、上記の解決策はどれも私にとってうまくいきませんでした。

役に立った:2番目の項目との関係を削除し、その項目からタブバーコントローラーにCtrlキーを押しながらドラッグして、別の関係を作成しました。今は自動的に2位になりました。


0

タブバーで連続するすべてのビューコントローラーを削除します。まず最初にビューコントローラをセグエにし、次に別のビューコントローラをタブバーに接続する必要があります。

xcodeの再起動や、変更中の明確なソースコードファイルは必要ありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.