Meletakkan widget / tampilan dalam file .xib yang terpisah dapat dilakukan, dan ini sesuai terutama jika Anda mungkin ingin merujuk tampilan yang sama dari beberapa Pengontrol Tampilan.
Namun, terkadang Anda ingin melihat tampilan / widget tambahan dalam storyboard yang sama, dan itu memungkinkan. Inilah cara Anda melakukannya:
Pilih pengontrol tampilan Anda di IB (klik pada bilah hitam di bawah tampilan), lalu seret UIView dari Perpustakaan Objek ke dalam bilah hitam:
Saat tampilan ada di bilah hitam, itu dibuat seperti tampilan lain di IB tetapi tidak ditambahkan ke hierarki tampilan Anda sampai Anda melakukannya dalam kode. Ubah kelas tampilan agar sesuai dengan subkelas Anda sendiri jika perlu:
Anda dapat menghubungkannya ke pengontrol tampilan seperti saat Anda menghubungkan tampilan lainnya:
Tampilan tambahan muncul di Kerangka Dokumen Anda dan Anda juga dapat menghubungkan tindakan dan referensi di sana:
Sekarang, masalah yang tersisa adalah Anda tidak dapat benar-benar melihat tampilan tersebut tidak peduli berapa kali Anda mencoba mengklik atau mengklik dua kali, yang akan menggagalkan seluruh tujuan untuk meletakkannya di storyboard yang sama. Untungnya ada dua solusi yang saya ketahui.
Solusi pertama adalah menyeret kembali tampilan dari bilah hitam ke tampilan pengontrol tampilan Anda, mengeditnya, lalu menyeretnya kembali ke bilah hitam setelah Anda selesai. Ini merepotkan tapi bisa diandalkan.
Solusi lain lebih rumit, tetapi saya lebih suka karena ini memungkinkan saya melihat semua pandangan saya pada saat yang sama:
Seret UITableView dari Object Library ke tampilan yang baru Anda tambahkan.
Kemudian seret UITableViewCell ke UITableView itu.
Setelah Anda melakukannya, tampilan Anda muncul secara ajaib di samping, tetapi Anda memiliki UITableView yang tidak Anda inginkan. Anda dapat mengubah ukurannya menjadi 0x0, atau Anda dapat menghapusnya dan UIView Anda (biasanya) akan tetap terlihat.
Terkadang tampilan sekunder akan disembunyikan lagi di IB. Anda dapat mengulangi langkah-langkah di atas jika Anda menghapus UITableView, atau jika UITableView masih dalam hierarki, Anda hanya perlu mengklik UITableViewCell dan tampilan akan muncul lagi.
Metode kedua berfungsi untuk UIViews tetapi tidak begitu baik untuk UIToolbars dan tidak mungkin untuk UIButtons, jadi solusi terbersih yang saya temukan ketika Anda perlu memasukkan banyak subview yang berbeda adalah dengan melampirkan UIView sekunder tunggal ke pengontrol tampilan Anda sebagai wadah yang tidak pernah ditampilkan, letakkan semua tampilan sekunder Anda di sana, dan gunakan trik UITableViewCell untuk membuat semuanya terlihat. Saya mengubah ukuran UITableView tiruan saya menjadi 0x0 agar tidak terlihat. Berikut tangkapan layar tentang bagaimana semuanya terlihat bersama:
xib
s untuk pengontrol tampilan Anda secara terpisah dan bukan di papan cerita?