Masalah saya adalah saya mencari cara untuk menggunakan storyboard dan xib . Tetapi saya tidak dapat menemukan cara yang tepat untuk memuat dan menampilkan storyboard secara terprogram. Project mulai dikembangkan dengan xib, dan sekarang sangat sulit untuk menyarangkan semua file xib di storyboard. Jadi saya mencari cara untuk melakukannya dalam kode, seperti dengan alloc, init, push
untuk viewControllers. Dalam kasus saya, saya hanya memiliki satu pengontrol di storyboard:, UITableViewController
yang memiliki sel statis dengan beberapa konten yang ingin saya tampilkan. Jika ada yang tahu cara yang tepat untuk bekerja dengan xib dan storyboard tanpa refactoring besar, saya akan menghargai bantuannya.
sumber
[sb instantiateInitialViewController]
berguna jika Anda ingin memulai pada pengontrol tampilan default adegan.[self presentViewcontroller]
logika dengan baris-baris ini dalam urutan sebagai berikut: 1)self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
2)self.window.rootViewController = vc;
dan 3)[self.window makeKeyAndVisible];
. Anda juga mungkin bisa menghilangkanmodalTransitionStyle
garis karena ini bukan transisi modal dari delegasi aplikasi.Cepat 3
Cepat 2
Prasyarat
Tetapkan Storyboard ID ke pengontrol tampilan Anda.
IB> Tunjukkan inspektur Identitas> Identitas> Storyboard ID
Swift (warisan)
Sunting: Swift 2 disarankan dalam komentar oleh Fred A.
jika Anda ingin menggunakan tanpa navigationController, Anda harus menggunakan seperti berikut:
sumber
self.storyboard
dan menggabungkan line1 & 2Atribut inspector memberikan pengidentifikasi untuk tampilan controller dan kode di bawah ini berfungsi untuk saya
sumber
Coba ini
sumber
di
NavigationController cepat dan pushController Anda dapat menggantikan
sumber
Untuk swift 3 dan 4 , Anda dapat melakukan ini. Praktik yang baik adalah menetapkan nama Storyboard sama dengan StoryboardID.
dan kemudian Anda dapat memuat Storyboard Anda di ViewController Anda seperti ini:
}
Saat Anda membuat Storyboard baru, atur nama yang sama di StoryboardID dan tambahkan nama Storyboard di enum Anda " StoryBoardName "
sumber
Anda selalu dapat melompat langsung ke pengontrol root:
sumber
Ekstensi di bawah ini memungkinkan Anda untuk memuat
Storyboard
dan dikaitkanUIViewController
. Contoh: Jika Anda memilikiUIViewController
namaModalAlertViewController
dan papan cerita bernama "ModalAlert" misalnyaAkan memuat keduanya
Storyboard
danUIViewController
danvc
akan bertipeModalAlertViewController
. Catatan Mengasumsikan bahwa Storyboard ID Storyboard memiliki nama yang sama dengan storyboard dan storyboard telah ditandai sebagai Is Initial View Controller .sumber