2017-09-23 32 views

cevap

3

Geçerli pencerenin güvenli alan girişlerini aşağıdaki kod ile yazdırarak, üst ve alt güvenli alanın nokta boyutlarını alabilirsiniz.

if #available(iOS 11.0, *) { 
    UIApplication.shared.keyWindow?.safeAreaInsets 
    // ... 
} 

üst alan alt alan 34 puan uzunluğunda, 44 puan uzunluğundadır.

@ 1 x = işaret @ 2x = puan kişiye * 2 @ 3x = noktaları * 3

+0

44 pikselde nasıl biliyorsunuz? Ben safeareainsets.top için çağrı yaptığınızda bana 88 –

2

Xcode 9 safe-:

aygıt ekran çözünürlüğü bağlıdır fiili piksel boyutları elde etmek için alan düzeni arayüz oluşturucuya kılavuzluk eder. Hikaye panosunun dosya denetçisine ve ticking the checkbox labelled "Use Safe Area Layout Guides"

'a girerek bunları açabilirsiniz. Kök görünümünüze her kısıtlama eklediğinizde, onu güvenli alanla sınırlama seçeneğine sahip olursunuz. In this photo, mavi görünüm, süper görüntünün kenarlarına sınırlanırken, turuncudaki görünüm güvenli alanın kenarlarına sınırlanır.

  • Portakal görünümün çerçeve: (0.0, 44.0, 375.0, 734.0)
  • Mavi görünümün çerçeveyi: (0.0, 0.0, 375.0, 812,0)

Oradan 44 piksel olduğunu hesaplayabilir En güvenli alan için kullanılırken alt alan için 34 piksel kullanılmıştır.

+0

verir Nasıl piksel olarak biliyorum 44? Ben safeareainsets.top için çağrı yaptığınızda bana 88 –

+1

@PabloMartinez verir, nedeni, sizin UI bir gezinti çubuğu var çünkü 88 piksel alıyoruz.Güvenli alan yerleşim kılavuzunun, gezinme çubuğu veya sekme çubuğu gibi başka herhangi bir UI öğesi tarafından engellenmemesi garanti edilir. Daha fazla bilgi için, bu yılki WWDC'den [Arayüz Oluşturucu'daki Otomatik Düzenleme Teknikleri] 'ne (https://developer.apple.com/videos/play/wwdc2017/412/) bakın. –

+0

Manzara modu için benzer resminiz var mı? –

0

tl; dr: Portre olarak

  • Üst: 44pt
  • Alt: 34PT
  • Sol/Sağ:

Yatay olarak

0pt
  • Üst: 24pt Sağ
  • Sol /:
  • Bottom 0pt 44pt

Kaynak: Bu boyutlar ve yaklaşık 20 kaynakların içine kazma ... iOS simülatörü :) pratiği