Mengatur Ulang Urutan Pengontrol Tab Bar di StoryBoard


165

Di aplikasi iPhone aplikasi saya, saya memiliki Pengontrol Tab Bar dengan 4 hubungan ke 4 Pengontrol Tampilan Tabel yang berbeda. Apakah ada cara untuk mengatur ulang urutan hubungan di StoryBoard secara grafis? Saya tidak dapat menemukan cara untuk melakukan ini dan saya yakin saya pasti kehilangan sesuatu!


Jawaban:


254

Di 4.5 simpan storyboard setelah menambahkan Controller, beralih ke file lain dan kemudian kembali ke Storyboard dan menyeret tab akan berfungsi lagi.


45
Seret tab! Ok, saya bahkan tidak tahu kita bisa menyeret tab. Tidak terlalu intuitif karena tab tidak dapat dipilih ...
Pierre de LESPINAY

1
Jika Anda bosan menusuk Xcode UI dengan tab switch / close incantations, lihat saja jawaban JannieT. Cepat dan mudah.
Sixto Saez

Tidak intuitif tetapi berhasil juga untuk saya di Xcode 7.
zeeple

Jika Anda tidak melihat item untuk diseret, itu mungkin karena Anda belum menetapkan ikon. Saya menemukan bahwa itu tidak muncul sampai saya mengatur ikon!
Brian

1
baik :) bahkan tidak tahu bahwa itu bisa diseret
Amr Angry

132

Anda bisa mengatur ulang pesanan dengan menyeret dan menjatuhkan ikon di pengontrol tab bar


4
Jika Anda menggunakan tab khusus, Anda masih dapat menarik dan melepas untuk menyusun ulang meskipun Tab Bar Controlleradegan menunjukkan bilah abu-abu, item bilah masih ada. Ini sangat tidak mencolok ketika semua item bar Anda adalah item khusus.
Gerald

Cara paling mudah & mudah. Bekerja di Xcode 7.3.1. Swift 2.2
Mark Barrasso

Bekerja di Xcode 9 - meskipun ikon tidak terlihat.
Cesare


15

Saya tidak dapat melakukan drag & drop dengan XCode 4.6 (dengan kombinasi apa pun yang disebutkan). Saya telah menyelesaikannya dengan membuka storybord dalam mode " Source Code ", menemukan tabBarController dan mengatur ulang tag seque .


Saya memiliki pengontrol tab bar yang bersarang di pengontrol tampilan terpisah, dan sebagai hasilnya, tab pengontrol tab bar tidak terlihat di storyboard. Mengedit kode sumber storyboard bekerja untuk saya. Terima kasih!
Scott Gardner

14

Saya tahu OP menggunakan pembangun antarmuka Xcode dan meminta cara grafis untuk melakukan ini, tetapi untuk pengembang yang bekerja dengan Xamarin iOS Designer, berikut adalah solusi yang saya gunakan.

Buka file .storyboard dalam editor teks atau menggunakan Xcode, klik kanan pada item storyboard di Project Navigator dan pilih Open As Source Code. Dalam storyboard, XML temukan <tabBarController ...>node. Lalu saya mengatur ulang urutan segues di <connections>bagian:

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

Cari nilai destination=atribut dalam XML untuk menentukan pengendali tampilan yang diarahkan oleh elemen segue.


1
Solusi bagus Saya memiliki StoryBoard yang sangat besar dan menghapus serta menciptakan kembali segues akan membutuhkan waktu
YYamil

10

Cukup seret dan lepas ikon tab di bilah tab.

yaitu bilah tab utama yang dimiliki oleh pengontrol tab bar.

HTH

:: EDIT :: Jadi sepertinya ini tidak berhasil ... Saya yakin dulu.

Bagaimanapun, cara termudah yang saya temukan adalah menghapus tab dan menambahkannya kembali sesuai urutan yang Anda inginkan.

Semoga ini membantu.


LOL, hanya pergi untuk menguji dan saya salah. Maaf. Telah melakukan ini sebelumnya. Satu detik ...
Fogmeister

Ya saya pikir saya ingat bahwa drag & drop berhasil meskipun saya tidak yakin tentang itu! Mungkin mereka mengubah sesuatu di Xcode ..
BigLex

Saya baru saja mencobanya, dan itu bekerja dengan baik untuk hanya menyeret tab di Xcode 4.5
rdelmar

@rdelmar apakah Anda memulai proyek Anda sebagai aplikasi bilah tab atau apakah Anda menambahkan pengontrol tampilan bilah tab ke aplikasi tampilan tunggal?
BigLex

5
Seret & lepas memang berfungsi, tetapi akan membandel jika Anda telah melakukan sesuatu di storyboard sebelum mencoba menarik & melepas tab. Untuk memperbaikinya, pilih file lain dalam Xcode dan kemudian kembali ke storyboard Anda. Seret & lepas akan berfungsi lagi. Tidak perlu menutup Xcode atau menambahkan kembali pengontrol Anda.
memmons

9

Seperti disebutkan dalam komentar, seret & lepas saat ini tidak berfungsi (Xcode 4.5) setelah menambahkan pengontrol navigasi. Namun, me-restart Xcode setelah menambahkan controller sepertinya membuat drag & drop berfungsi kembali.


8

XCODE 10.1: Zoom papan cerita. Cukup seret item tab. (Tidak ada shift tidak lain)


2
Bagaimana menurut Anda untuk mencoba ini? 😃 Cemerlang! 👏
GarySabo

7

Jika Anda membuka storyboard sebagai 'tampilan kode sumber' dan kemudian tutup dan buka sebagai tampilan IB sepertinya memperbaiki bug ..


Ini bekerja untuk saya (Xcode 8.1), saya akhirnya bisa menarik untuk mengatur ulang setelah membuka storyboard dalam tampilan kode sumber.
Undrea

7

Untuk menambahkan metode seret dan lepas yang disediakan oleh semua orang. Saya memposting ini sebagai jawaban sehingga saya dapat memasukkan gambar. Sudah mencoba Xcode 7.3

Jika Anda menggunakan kustom tab bar item, Anda masih dapat menarik dan melepas untuk menyusun ulang meskipun Tab Bar Controlleradegan menunjukkan bilah abu-abu, item bilah masih ada. Ini sangat tidak mencolok ketika semua item bar Anda adalah item khusus

masukkan deskripsi gambar di sini deskripsi


4

Saya menggunakan XCode 5.1 untuk pengembangan iOS 7.1 dan saya menemukan pendekatan berikut berfungsi untuk mengatur ulang tab di Pengontrol Tab Bar.

Untuk mengatur ulang tab di Pengontrol Tab Bar, hapus segues dari Pengontrol Tab Bar ke pengontrol tampilan bawah Anda. Kemudian gambarkan kembali garis-garisnya sesuai urutan yang Anda inginkan. Untuk "menggambar ulang", maksud saya Anda mengontrol seret dari Pengontrol Tab Bar ke pengontrol tampilan-bawah dan pilih Segmen Hubungan (di bagian bawah daftar) => lihat pengontrol.


3
benar. Cara lain untuk melakukannya adalah mengedit .storyboard sebagai "Source code", menemukan segues (mereka adalah tag <segue>), dan mengatur ulang pesanan mereka.
voghDev

3

Anda dapat memastikan bahwa opsi Dock Tab Controller di storyboard Utama Anda diatur ke "Responder Pertama", yang menyelesaikannya untuk saya!


Saya telah mencoba beberapa dari ide-ide ini, karena saya sekarang memiliki masalah ini tidak peduli apa proyek saya sekarang bawa (baru atau lama). Saya tidak tahu apa maksud KayKay dengan "opsi Dock Tab Controller". Adakah yang punya ide?
LaurelS

3

Saya memiliki masalah yang sama setelah menambahkan Pengontrol Navigasi.

Perbaiki: tutup storyboard (Ctrl + Cmd + W) dan lakukan folder build bersih (Opsi + Cmd + Shift + K) dan pembersihan biasa (Cmd + Shift + K). Buka kembali storyboard dan Anda akan dapat menarik item lagi.


1

Hal yang sama ada di xCode 4.6. Saya awalnya mengikuti tutorial tentang memulai storyboard di ios. Pada titik untuk swith item di TabBarController, saya tidak bisa mengubah urutannya. Saya mencoba menyelamatkannya - tidak berhasil; Namun, Setelah saya menutup XCode dan membuka lagi - itu DID BEKERJA.


1

Kontrol + seret item di TabBarController di storyboard dan atur ulang ke posisi yang diinginkan.


saya pikir itu adalah Opsi + seret
GGirotto

0

Saya juga mengikuti tutorial raywenderlich untuk storyboard dan menyadari bahwa setelah menambahkan tab controller saya tidak bisa mengatur ulang tab dengan menyeretnya. Yah, tampaknya itu hanya beberapa bug di xcode. Jadi cukup berhenti xcode, mulai ulang dan kali ini, Anda akan dapat menyeret tab.


0

Bagi saya menyeret juga tidak berfungsi di XCode 7.3.1. Restart XCode tidak membantu. Dan tidak ada solusi yang disebutkan di atas yang berfungsi untuk saya.

Apa yang membantu saya: Saya menghapus hubungan ke item kedua dan menyeret-ctrl dari item itu ke Pengontrol Tab Bar dan membuat hubungan lain. Itu secara otomatis di tempat kedua sekarang.


0

Hapus semua viewcontrollers sequencing dengan tabbar. Anda perlu viewcontroller pertama, segue pertama kemudian viewcontroller lain terhubung dengan tabbar.

Tidak perlu memulai ulang xcode & tidak perlu file kode sumber yang jelas.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.