Saya menggunakan kelas AutoLayout dan Ukuran, tetapi dengan rilis iOS 10 dan Xcode 8.0 baru, ada satu opsi baru Vary for Traits
. Apakah ini pengganti Size Classe untuk lebar dan tinggi perangkat yang berbeda.
Dengan memilih width
kotak centang, itu akan ditampilkan varying 14 compact width devices
.
Dengan memilih height
kotak centang, itu akan ditampilkan varying 18 compact height devices
.
Dengan memilih kedua kotak centang, ini akan ditampilkan varying 11 compact width regular height devices
.
Bagaimana cara memanfaatkan opsi ini? Bisakah kita menggunakan AutoLayout dengan kelas ukuran seperti Xcode7.0? Jika ada yang memiliki pengetahuan mendalam maka tolong jelaskan.
ios
xcode8
ios10
ios-autolayout
technerd
sumber
sumber
Jawaban:
Ini hanyalah ekstensi tentang cara menggunakan "Vary Traits" dengan cepat dalam proyek Anda untuk menambahkan tata letak yang berbeda untuk iPad dan iPhone.
Silakan baca ini untuk memahami lebih lanjut tentang kelas Ukuran.
https://developer.apple.com/reference/uikit/uitraitcollection
Jika Anda melewatkan contoh berikut di bawah ini, bacalah Ringkasan di bagian akhir.
Anda memerlukan tombol dengan lebar berbeda di iPhone dan iPad. Yang pertama memiliki lebar 80 dan yang terakhir memiliki lebar 300.
Vary for Traits with Multiple Constraints as diinstal.
LANGKAH :
KESIMPULAN:
Harap perhatikan bahwa ada total dua batasan yang ditambahkan dan di kedua batasan tersebut, nilainya berbeda sesuai dengan kelas ukuran yang dipilih.
Vary for Traits with Single Constraint, Multiple Size-Class diinstal
KESIMPULAN:
Ini tampaknya menjadi opsi yang lebih baik daripada menambahkan dua batasan ketika satu batasan hanya diperlukan dan nilai konstanta berbeda.
KAPAN DIGUNAKAN, APA YANG HARUS DIGUNAKAN:
Kedua pendekatan tersebut pada dasarnya melakukan hal yang sama, menetapkan nilai ke kelas Ukuran.
Tapi, # Method1 digunakan ketika Anda ingin menambahkan batasan khusus untuk perangkat atau katakanlah kelas ukuran. Misalnya, di iPhone tombol harus dari 50 poin teratas dan di iPad tombol harus dipusatkan secara horizontal dan vertikal. Dalam situasi seperti itu, Anda perlu menggunakan VaryForTraits karena VaryForTraits membuka pintu untuk menambahkan batasan untuk kelas ukuran tertentu.
# Method2 digunakan ketika Anda menginginkan nilai konstanta yang berbeda untuk tipe batasan yang sama.
PS: KEPADA SEMUA ORANG YANG TIDAK MAMPU MENDAPATKAN CONTOH BEKERJA
Harap pastikan, Anda hanya menambahkan batasan yang diperlukan sebagai Terpasang. Kotak centang terhadap Installed seharusnya hanya muncul untuk batasan yang Anda perlukan untuk kelas ukuran. Itulah kuncinya!
Cukup tambahkan batasan teratas & petunjuk ke uiButton dalam tampilan. Pilih kendala teratas dan hapus centang pada opsi Terpasang dasar dengan tanda Plus. Sekarang, dengan mengklik tanda Plus, tambahkan variasi ke C R dan centang opsi itu. Kini, ubah perangkat dari iPhone ke iPad dengan berbagai kombinasi orientasi. Batasan ini hanya akan diterapkan untuk kelas ukuran C R yaitu iPhone dalam orientasi potret. Jika kotak centang terhadap Installed dasar (yang satu dengan simbol Plus) dicentang, itu berarti batasan harus diterapkan ke semua kelas ukuran.
RINGKASAN:
Variasi Trait adalah perubahan pada tampilan antarmuka pengguna Anda yang didasarkan pada konfigurasi perangkat. Variasi Ciri dari antarmuka pengguna tidak hanya terbatas pada batasan tetapi dapat diterapkan pada lebih banyak lagi. Seperti mengubah warna latar belakang dan elemen lain saat perangkat disetel ke gaya gelap. Variasi dapat diterapkan ke elemen antarmuka pengguna, seperti menghapus batasan, atau ke properti kelas tampilan atau batasan, seperti font untuk label. Anda dapat memvariasikan:
Ukuran atau posisi tampilan
Pemasangan view
Pemasangan menjadi kendala
Konstanta batasan
Font
Warna untuk font, tint, atau background
Margin tata letak
File gambar
Kumpulan properti spesifik yang dapat Anda variasikan bergantung pada kelas elemen. Dalam contoh, kami telah mendemonstrasikan penggunaan- Instalasi batasan & - Konstanta batasan. Lainnya, cukup sederhana dan dapat dengan mudah disimpulkan.
sumber
Variasi untuk sifat adalah evolusi opsi kelas ukuran yang ada di versi Xcode sebelumnya. Ini memungkinkan variasi yang jauh lebih bagus dan tepat berdasarkan sifat. Tentunya tidak terbatas pada variasi iPad / iPhone saja tetapi Anda dapat menentukan juga variasi berdasarkan orientasi dan perangkat yang berbeda.
Jawaban lain di utas ini memiliki beberapa kekurangan dan ketidakakuratan, mungkin cara paling efisien untuk memberikan jawaban adalah dengan memberi contoh. Demi kejelasan, kami akan membatasi contoh kami hanya pada satu tombol dan dua tata letak. Namun, seperti yang dijelaskan di bawah ini, Anda dapat memperluas contoh berikut sesuai keinginan. Tujuan kami adalah menyesuaikan posisi tombol di antara dua tata letak yang berbeda: lanskap dan potret di semua perangkat.
Catatan: Jika tidak diaktifkan opsi "bervariasi untuk sifat", semua tata letak dan penyesuaian antarmuka ui dirujuk ke semua sifat (mis. Semua kelas ukuran).
Mari kita mulai dengan meletakkan tombol di papan cerita kita. Karena "variasi untuk sifat" tidak diaktifkan, tombol tersebut akan ada di semua tata letak yang berbeda. Jika, sebaliknya, kami telah mengaktifkan variasi untuk ciri-ciri, tombol hanya akan dirujuk ke ciri tertentu yang dipilih.
Sekarang, mari aktifkan "variasikan untuk sifat" dan pilih variasi berdasarkan tinggi. Anda harus melihat bahwa layar bawah akan berubah menjadi biru dan sesuai dengan pilihan Anda akan melihat semua perangkat terpengaruh. Sejauh ini bagus.
Pilih lagi tombol dan tambahkan batasan iklan seperti biasa. Dalam contoh kami, kami akan menambahkan ruang depan atas dan kiri serta lebar dan tinggi. Setelah itu, klik "Done Varying". Anda akan melihat bahwa bagian bawah layar akan berubah menjadi abu-abu lagi. Apa yang terjadi adalah kita telah memberi tahu Interface Builder untuk menambahkan batasan di atas hanya untuk kelas (w: C h: R).
Sekarang pilih mode lansekap di bagian bawah layar. Anda akan melihat bahwa Tombol berwarna merah, karena tidak memiliki batasan yang Anda tambahkan hanya untuk beberapa ciri. Pilih lagi variasi untuk sifat dan pilih lagi variasi ketinggian. Tambahkan batasan berikut:
dan tekan selesai bervariasi. Sekarang tombol tersebut teridentifikasi dengan baik di layar baik untuk lanskap maupun potret.
Bangun dan jalankan. Anda akan melihat bahwa tombol akan berubah sesuai dengan orientasi layar.
Anda dapat membuat tata letak yang lebih canggih mengikuti pola ini. Misalnya, Anda dapat memilih di awal variasi untuk ciri dan menjatuhkan objek UIKit hanya untuk sifat tertentu. Objek ini hanya akan ada dalam varian yang ditentukan dan akan berwarna abu-abu pada varian lain yang memungkinkan Anda membuat antarmuka pengguna yang sama sekali berbeda berdasarkan ciri-ciri.
sumber
Itu tidak lain adalah
size classes
dirinya sendiri tetapi dengan representasi yang berbeda. sampaixcode 7
kami menggunakan kelas ukuran dan kami mempertimbangkanheight-width
denganregular,compact and any
cara, dalamvary for traits
konsepnya sama tetapi xcode secara khusus menjelaskanexact device
. Dalam versi yang lebih lama kita tahu bahwafor every iphone in portraint
dll jenis informasi di mana dalam hal ini kita dapat mengetahui perangkat yang tepat!Periksa tangkapan layar di bawah ini,
Anda harus merujuk wwdc2016 - video untuk informasi lebih lanjut!
Referensi: Ini Jadi Posting
sumber