Bayangkan kasus di mana Anda memiliki tiga tombol berdampingan. Anda ingin ketiga tombol memenuhi lebar yang tersedia, dan menjadi kotak sempurna dengan ukuran minimum yang ditetapkan, dengan jumlah ruang tertentu di antara keduanya. Untuk menyiapkannya, Anda akan memiliki batasan berikut:
A:
Rasio 1:1 terhadap A
Mengarah ke superview
Lebar dan tinggi >= 25
B:
Sama lebar dan tingginya dengan A
Menuju ke A: 50
C:
Lebar dan tinggi sama dengan A
Menuju ke B: 50
Mengikuti ke superview
Sekarang bayangkan lebar yang tersedia cukup kecil sehingga tidak ada cukup ruang horizontal untuk memastikan tombol-tombolnya berbentuk persegi sempurna dengan jarak 50 di antara masing-masing tombol. Daripada melanggar batasan rasio aspek dan lebar, Anda malah ingin mengurangi jumlah ruang antar tombol. Pertanyaan saya adalah, bagaimana Anda melakukan itu?
Saya pikir saya hanya akan mengubah hubungan kendala utama menjadi kurang dari atau sama, namun hal ini mengakibatkan Ambiguitas Kendala Ketimpangan dengan kedua kendala tersebut. Saya pikir mungkin saya perlu menentukan nilai minimum untuk lead, jadi saya menambahkan dua batasan lead lagi yang disetel lebih besar dari atau sama dengan 10. Itu tidak menyelesaikan ambiguitas. Saya kemudian menambahkan kumpulan batasan utama lainnya, kali ini sama dengan kumpulan nilai yang berada di antara kedua nilai tersebut, lalu saya mengurangi prioritasnya. Hal ini menyelesaikan ambiguitas, namun jarak antar tombol tidak pernah berkurang - selalu merupakan nilai yang saya tetapkan untuk batasan dengan batasan sama meskipun prioritasnya diturunkan.
Kendala apa yang perlu ditetapkan untuk mencapai hal ini?
- Tiga tombol ditampilkan berdampingan dalam ruang horizontal yang sama
- Ketiga tombol tersebut berbentuk kotak sempurna
- Ukuran minimum untuk tombol (25x25)
- Jumlah jarak tertentu di antara keduanya - 50
- Jika ruang horizontal terlalu kecil untuk memastikan semua batasan dapat dipenuhi, maka jumlah ruang antar tombol harus dikurangi.