Saya memiliki perilaku aneh ketika menghadirkan UIViewControllers secara modern di iOS 13. Gaya presentasi baru yang saya lihat di seluruh iOS 13 terlihat seperti ini:
Pengontrol tampilan tampilan muncul di belakang pengontrol tampilan yang disajikan. Itu juga digeser ke bawah untuk meniru "tumpukan"
Sementara itu, ketika menghadirkan pengontrol tampilan melalui aplikasi saya, saya terus mendapatkan efek ini:
Pengontrol tampilan tampilan tidak bergerak sama sekali saat menampilkan pengontrol tampilan baru
Saya menggunakan kode ini untuk menyajikan pengontrol tampilan ini:
let controller = storyboard?.instantiateViewController(withIdentifier: "tutorial") as! TutorialController
controller.modalPresentationStyle = .pageSheet
controller.modalTransitionStyle = .coverVertical
present(controller, animated: true, completion: nil)
Inilah pertanyaan saya: Saya bertanya-tanya mengapa hal ini terjadi dan apakah ada cara untuk menghadirkan pengontrol tampilan dalam gaya iOS 13 normal (dengan pengontrol tampilan tampilan bergerak mundur).
Terima kasih sebelumnya!
sumber
controller.modalTransitionStyle = .coverVertical
dan bahkancontroller.modalPresentationStyle = .pageSheet
(meskipun gaya presentasi akan diperlukan jika kode ini juga dijalankan di iPad).Jawaban:
Ternyata masalahnya adalah hierarki pengontrol tampilan saya. Saya dapat memperbaikinya dengan membuat tampilan pengendali tampilan pengendali tampilan root aplikasi saya. Pertama saya mengatur pengontrol latar belakang sebagai pengontrol tampilan root dengan memanggil
dan kemudian menggunakan kode saya sebelumnya
Saya mempresentasikan view controller. Terima kasih kepada semua orang yang mencoba membantu!
sumber
Saya pikir masalah ini dapat diselesaikan dengan menggunakan
vc.modalPresentationStyle = .fullScreen
jika tidak ada UINavigationController, jika tidak Anda dapat menggunakan kode-kode ini sebagai berikut:karena Dengan iOS 13 ini adalah fitur baru yang Apple telah mengubah gaya presentasi default View Controllers menjadi lembar modal dari layar penuh di iOS 12
sumber
Secara terprogram:
Dari storyboard:
Itu dia. Tidak perlu bermain dengan root controller atau jendela sama sekali.
Untuk referensi, kunjungi artikel ini .
sumber
Kami dapat mengubahnya di Bilah Alat Inspektur. Untuk Mencapai itu: kepala ke bagian kelima dari Inspektur Tollbar kemudian ubah bidang Presentasi ke Layar Penuh.
sumber
Ini harus menjadi satu-satunya properti yang perlu Anda atur
Terperinci dalam https://developer.apple.com/videos/play/wwdc2019/224/
sumber