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!

BigLex
sumber

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.

kode abitof
sumber
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

Indy Bains
sumber
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
17

SHIFT + DRAG bekerja pada Xcode 10.0

tampan
sumber
1
Sesimpel itu.
bikram
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 .

Nicola
sumber
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.

Jannie Theunissen
sumber
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.

Fogmeister
sumber
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.

bryfox
sumber
8

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

Aaban Tariq Murtaza
sumber
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 ..

Tom DeMille
sumber
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

Gerald
sumber
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.

Michael Osofsky
sumber
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!


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

Musim dingin
sumber
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.

Srdjan
sumber
1

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

Sreedeepkesav MS
sumber
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.

Rachna Anil
sumber
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.

Nina
sumber
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.

Digvijay Gida
sumber