Saya perlu membuat tiga kolom dinamis, masing-masing dengan persentase tetap dari total lebar. Bukan pertiga, tapi nilai yang berbeda. Misalnya, ilustrasi berikut memperlihatkan tiga kolom: yang pertama lebar 42%, yang kedua lebar 25%, dan yang ketiga lebarnya 33%.
Untuk 600 piksel di seluruh viewcontroller, itu akan menjadi 252, 150, dan 198 piksel.
Namun demikian, untuk ukuran tampilan berikutnya (yaitu iPhone 4 lanskap (lebar 960) atau potret iPad 2 (lebar 768), saya ingin persentase relatifnya sama (bukan lebar piksel yang dikutip di atas).
Apakah ada cara untuk melakukan ini dengan menggunakan Papan Cerita (yaitu tanpa kode)? Saya dapat melakukan ini dengan mudah dalam kode, tetapi tujuan saya adalah memasukkan sebanyak mungkin logika tampilan ini ke dalam Storyboard.
sumber
Saat Apple memperkenalkan UIStackView, ini membuat pekerjaan menjadi lebih mudah.
Metode 1: Menggunakan Nib / StoryBoard:
Anda hanya perlu menambahkan tiga tampilan di pembuat antarmuka & menyematkannya ke dalam stackview
Pilih stackView & berikan batasan dengan leading, trailing, top & equal height dengan safeArea
Klik untuk Atribut area inspektur & Setel StackView horizontal & distribusi untuk mengisi secara proporsional
[ 3
Beri pembatas tiga tampilan dengan leading, trailing, top, bottom dengan masing-masing sisi.
Metode 2: Secara terprogram:
Keluaran:
Bekerja dengan lanskap & potret
Proyek demo - https://github.com/janeshsutharios/UIStackView-with-constraints
https://developer.apple.com/videos/play/wwdc2015/218/
sumber
Saya rasa ini bisa dijelaskan lebih detail sehingga bisa lebih mudah diterapkan ke sejumlah tampilan yang membutuhkan tata letak persentase tetap dalam superview.
Tampilan paling kiri
SuperView.Leading
SuperView.Height
Tampilan menengah
SuperView.Height
left
ke kanan tetangganyaTampilan Paling Kanan
left
ke kanan tetangganyaright
keSuperView.Trailing
Semua Tampilan
Top Layout Guide.Top
danTop Layout Guide.bottom
. Dalam jawaban di atas, perlu dicatat bahwa hal ini juga dapat dilakukan dengan mengatur ketinggian yang sama ke pandangan tetangga.sumber