Membangun proyek baru dari awal di Swift in Xcode 6 (Beta 1) dan telah melihat beberapa perilaku aneh dengan Storyboards dan output yang saya lihat.
Saya telah membangun antarmuka sederhana (seperti yang ditunjukkan di bawah ini) - dengan properti View Controller disertakan. Ketika saya menjalankan ini di simulator saya akan berharap 'Hello, World' menjadi pusat dalam antarmuka pengguna - namun tampaknya 'Square' ini hanya masuk ke layar iPhone dan dengan demikian tampilan yang salah ditampilkan (lihat di bawah ini) ).
Pertanyaan saya adalah: adakah orang lain yang melihat perilaku ini dan bagaimana mereka memperbaikinya?
Terima kasih!
ios
iphone
interface-builder
xcode6
Permen benang
sumber
sumber
Jawaban:
Sementara jawaban Asif Bilal adalah solusi yang lebih sederhana yang tidak melibatkan Kelas Ukuran (yang diperkenalkan di iOS 8.), sangat disarankan agar Anda terbiasa dengan kelas ukuran karena mereka adalah masa depan, dan pada akhirnya Anda akan ikut bergabung di beberapa titik."
Anda mungkin belum menambahkan batasan tata letak.
Pilih label Anda, ketuk tombol kendala tata letak di bagian bawah:
Pada menu itu tambahkan lebar dan tinggi (seharusnya TIDAK sama dengan milik saya) dengan mencentang kotak centangnya dan klik tambahkan batasan. Kemudian Kontrol-tarik label Anda ke tampilan utama Anda, dan kemudian ketika Anda mengklik, Anda harus memiliki opsi untuk memusatkan secara horizontal dan vertikal dalam wadah. Tambahkan keduanya, dan Anda harus mengatur.
sumber
Lakukan langkah-langkah berikut untuk menyelesaikan masalah
Di Storyboard, pilih tampilan apa pun, lalu pergi ke inspektur File. Hapus centang "Gunakan Kelas Ukuran", Anda akan diminta untuk menyimpan data kelas ukuran untuk: iPhone / iPad. Dan kemudian klik tombol "Nonaktifkan Ukuran Kelas". Melakukan ini akan membuat ukuran tampilan storyboard dengan perangkat yang dipilih.
sumber
Jika Anda menggunakan Xcode 6 dan mendesain untuk iOS 8, tidak ada solusi yang benar. Agar ukuran khusus iPhone Anda menjadi berukuran benar, jangan matikan kelas ukuran, jangan matikan metrik yang disimpulkan, dan jangan tetapkan batasan (belum). Sebagai gantinya, gunakan kontrol kelas ukuran, yang merupakan tombol teks yang mudah dilewatkan di bagian bawah Interface Builder yang awalnya berbunyi "wAny hAny".
Klik tombolnya, dan pilih Compact Width, Regular Height. Ini mengubah ukuran pandangan Anda dan mencakup semua orientasi potret iPhone. Dokumen Apple di sini: https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/SelectingASizeClass.html atau cari di "Memilih Kelas Ukuran dalam Pembuat Antarmuka"
sumber
Di Storyboard, pilih ViewController Anda dan pergi ke Atribute Inspector. Di bagian paling atas, di bawah Metrik Simulasi Anda memiliki properti Ukuran dan Orientasi yang disetel ke Tersirat. Ubah ke nilai yang diinginkan.
Agar aplikasi dapat ditampilkan dengan benar pada ukuran layar lain, Anda juga harus mengatur kendala, seperti yang dijelaskan oleh Can Poyrazoğlu di posting pertama.
sumber
Saya punya masalah ini di xcode 6 dan ada cara untuk menyelesaikan konflik ukuran. Jika Anda memilih tampilan Anda, di bagian bawah Anda akan melihat ikon yang terlihat seperti | -Δ- |. Jika Anda mengkliknya, proyek Anda akan diubah ukurannya untuk perangkat yang berbeda.
sumber
Pergi ke Atribut Inspektur (sudut kanan atas) Di Metrik Simulasi, yang memiliki Ukuran, Orientasi, Bilah Status, Bilah Atas, properti Bilah Bawah. Untuk SIZE, ubah Disimpulkan -> Bentuk Bebas.
sumber
Di halaman storyboard Anda, buka File Inspector dan hapus centang 'Use Size Classes'. Ini akan mengecilkan pengontrol tampilan Anda ke ukuran IPhone biasa yang Anda kenal. Perhatikan bahwa menggunakan 'kelas ukuran' akan memungkinkan Anda merancang proyek Anda di banyak perangkat. Setelah Anda menghapus centang ini, Xcode akan memberi Anda dialog peringatan sebagai berikut. Ini harus jelas.
"Menonaktifkan kelas ukuran akan membatasi dokumen ini untuk menyimpan data untuk satu kelompok perangkat tunggal. Data untuk kelas ukuran yang mewakili perangkat yang ditargetkan akan dipertahankan, dan semua data lainnya akan dihapus. Selain itu, segmen akan dikonversi menjadi non Setara-adaptif. "
sumber
Bagi siapa pun yang menggunakan XCode 7, sangat mudah untuk mendesain untuk ukuran perangkat tertentu (bukan kanvas persegi-ish standar).
Di Interface Builder, pilih ViewController atau Scene Anda dari menu kiri. Kemudian di bawah
Show the Attributes Inspector
, bukaSimulated Metrics
, dan pilih yang diinginkanSize
dari menu dropdown.sumber
Anda mungkin harus menggunakan "Menyelesaikan Masalah Tata Letak Otomatis" (ikon segitiga kanan bawah dalam tampilan papan cerita) untuk menambah / mengatur ulang ke batasan yang disarankan (Xcode 6.0.1).
sumber