Saturday 19 August 2017

Edgesforextendedlayout Status Bar Houston


Saya punya proyek yang dibangun tahun lalu, dan menggunakan XIB, tidak ada storyboard. XIBs tidak menggunakan Auto Layout, tapi mereka menggunakan beberapa Autosizing. Saya memiliki masalah saat mencalonkan diri dengan iOS7, di mana semua tampilan terselip di bawah status bar. Saya mengerti sepenuhnya ini adalah fitur baru dengan iOS7, di mana ini bisa diharapkan. Namun, semua solusi untuk memperbaikinya agar tidak melakukan ini tidak bekerja. Saya memiliki gambar di bagian atas tampilan yang selalu tampil di bawah status bar, dan saya tidak menggunakan nav-bar atau semacamnya. Saya telah mencoba memperbarui Y-delta di XIB (mereka tidak memiliki efek pada tampilan), saya telah mencoba menyetel edgesForExtendedLayout ke UIRectEdgeNone (tidak melakukan apa-apa), dan banyak hal lainnya. Setiap saat, bar status menunjukkan dengan tampilan yang terselip di bawahnya, tidak peduli apa yang saya lakukan. Itu kecuali jika saya secara manual menurunkan pandangan di XIB untuk memberi ruang bagi status bar (tapi solusi itu tidak berhasil karena tidak terlihat benar di iOS6, tentu saja). Apa yang aneh adalah bahwa bahkan ketika saya mencoba sederet kode untuk hack dalam tampilan-shift, itu tidak berhasil (seperti berikut): Bukan berarti saya akan menggunakan solusi seperti itu, tapi anehnya itu tidak berhasil ( Hanya waktu saya biasanya melihat bahwa tidak bekerja adalah jika Auto Layout di tempat, yang tidak dalam kasus ini). Ini adalah persyaratan desain yang ditunjukkan oleh status bar, dan saya hanya bingung mengapa saya tidak dapat mengatur agar dapat berada di bawah status bar untuk iOS7. Saya telah membaca setiap posting Stack Overflow pada subjek, begitu juga dengan Apples transitionguides. Sekali lagi, untuk mengulangi, saya sepenuhnya mengerti bagaimana seharusnya berfungsi dan solusi yang diharapkan untuk hal ini, namun tidak ada yang tampaknya bekerja untuk proyek khusus ini. Saya adalah dev iOS yang berpengalaman, namun proyek ini dibangun oleh tim lain, jadi saya tidak tahu apakah ada sesuatu yang tersembunyi di suatu tempat di file XIB, plist, atau kode yang dapat menginjak-injak pengaturan di atas. Tolong beritahu saya jika ada hal lain yang dapat dilihat pada hal ini, atau lebih banyak informasi yang dapat saya berikan. Thanks in advance bertanya 24 Sep 13 di 19:21 Apple mendorong Anda untuk menggunakan autolayout untuk mencapai hal ini. Anda perlu menetapkan batasan pada Panduan Tata Letak Teratas dari subfolder teratas dalam tampilan Anda. Lihat dokumen ini untuk contoh: Untuk melakukan ini tanpa XIBs, Anda harus menambahkan kendala secara programatik. Apel docs memberi contoh bagus tentang hal ini, yang telah saya rangkum di bawah ini. Memberikan bahwa topLayoutGuide adalah properti pada kontroler tampilan, Anda cukup menggunakannya di kamus binding variabel Anda. Kemudian Anda menetapkan batasan Anda seperti biasa: Tampilan ditampilkan di bawah bilah status di iOS 7 dan EdgesForExtendedLayout tidak membantu Saya memiliki masalah karena tampilan saya diplay di bawah status bar. Setelah mencari saya menemukan saya harus menambahkan this. EdgesForExtendedLayout UIRectEdge. None ke ViewDidLoad () dari ViewController, tapi it doesnt work for me. Sebagai referensi saya menggunakan contoh helloiPad dari xamarin (docs. xamarinsamplesHelloiPad) Menambahkan posisi label di bagian atas layar di IB. Di iOS6 ditampilkan dengan benar. Sekarang saya menambahkan baris this. EdgesForExtendedLayout UIRectEdge. None dan menjalankannya di simulator iOS7, label ditampilkan di status bar. Apa yang saya lakukan salah

No comments:

Post a Comment