2017-10-19 2 views

Antwort

55

Versuchen Sie folgendes:

In Objective C

if (@available(iOS 11.0, *)) { 
    UIWindow *window = UIApplication.sharedApplication.keyWindow; 
    CGFloat topPadding = window.safeAreaInsets.top; 
    CGFloat bottomPadding = window.safeAreaInsets.bottom; 
} 

In Swift

if #available(iOS 11.0, *) { 
    let window = UIApplication.shared.keyWindow 
    let topPadding = window?.safeAreaInsets.top 
    let bottomPadding = window?.safeAreaInsets.bottom 
} 
14

die Höhe erhalten zwischen dem Layout, das Sie gerade tun Führungen

let guide = view.safeAreaLayoutGuide 
let height = guide.layoutFrame.size.height 

So full frame height = 812.0, safe area height = 734.0

Unten ist das Beispiel, wo die grüne Ansicht Rahmen von guide.layoutFrame

hat

enter image description here

+0

ich – Ladislav

+0

Dank der Antwort aktualisiert, die die Führung war ich auch dachte. Ich glaube nicht, dass es eine zuverlässigere Lösung gibt. Aber damit bekomme ich nur die volle unsichere Höhe, oder? Nicht zwei Höhen für jeden Bereich? – Tulleb

+0

Sobald die Ansichten ausgelegt sind, erhalten Sie die richtige Antwort – Ladislav

Verwandte Themen