Saya telah mencari di mana-mana dan sejauh ini tidak ada yang berhasil untuk saya.
Pada dasarnya saya ingin memiliki file .xib bernama rootView.xib dan di dalamnya saya ingin memiliki UIView (sebut saja containerView) yang hanya menempati setengah layar (jadi akan ada tampilan biasa dan tampilan baru). Lalu saya ingin file .xib berbeda bernama firstView.xib dan memuatnya di dalam containerView. Jadi saya dapat memiliki banyak hal di firstView.xib dan banyak hal berbeda di rootView.xib dan memuat firstView.xib saya di dalam containerView di rootView.xib tetapi karena ini hanya mengambil setengah dari layar Anda masih akan melihat hal-hal di rootView.xib
ios
objective-c
uiview
xib
Matt
sumber
sumber
Jawaban:
Untuk mendapatkan objek dari file xib secara terprogram, Anda dapat menggunakan:
[[NSBundle mainBundle] loadNibNamed:@"MyXibName" owner:self options:nil]
yang mengembalikan larik objek tingkat atas di xib.Jadi, Anda bisa melakukan sesuatu seperti ini:
sumber
thisView.alpha = 0
,thisView.superview
(menunjukkan nihil)Saya membuat proyek sampel di github untuk memuat UIView dari file .xib di dalam file .xib lain. Atau Anda dapat melakukannya secara terprogram.
Ini bagus untuk widget kecil yang ingin Anda gunakan kembali pada objek UIViewController yang berbeda.
sumber
Kamu bisa mencoba:
sumber
[Implementasi Cepat]
Cara universal memuat tampilan dari xib:
Contoh:
Penerapan:
sumber
let view = Bundle.main.loadNibNamed(name, owner: nil, options: nil)?.first as? T
Buat file XIB:
pastikan tanda centang "juga buat file XIB"
Saya ingin tampil bersama
tableview
jadi saya memilih subclassUITableViewCell
Anda dapat memilih sebagai permintaan Anda
File XIB mendesain sesuai keinginan Anda (RestaurantTableViewCell.xib)
kita perlu mengambil tinggi baris untuk mengatur tabel setiap baris hegiht
Sekarang! perlu menyimpan file cepat mereka. Saya terselubung
restaurantPhoto
danrestaurantName
Anda bisa menipu Anda semua.Sekarang menambahkan UITableView
name
Nama file nib, yang tidak perlu menyertakan ekstensi .nib.
owner
Objek yang akan ditetapkan sebagai objek File's Owner nib.
options
Kamus yang berisi opsi untuk digunakan saat membuka file ujung pena.
pertama jika Anda tidak mendefinisikan terlebih dahulu kemudian mengambil semua tampilan .. jadi Anda perlu mengambil satu tampilan di dalam set itu
frist
.berikut adalah pengontrol tampilan tabel Kode lengkap
Kamu sudah selesai :)
sumber
Untuk swift 3 & 4
sumber
Untuk Swift 4.2
Anggaplah Anda memiliki kelas bernama NibView dan file ujung terkait adalah NibView.xib
buat instance kelas dan tambahkan tampilan Anda dengan tata letak spesifik apa pun yang Anda inginkan
sumber