2017-10-19 16 views
12

नए आईफोन एक्स पर, असुरक्षित क्षेत्रों के लिए शीर्ष और नीचे दोनों ऊंचाई प्राप्त करने का सबसे उचित तरीका क्या होगा?सुरक्षित क्षेत्र इंसेट शीर्ष और निचले ऊंचाइयों को प्राप्त करें

enter image description here

उत्तर

55

इस प्रयास करें:

में उद्देश्य सी

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

स्विफ्ट में

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

लेआउट आपका मार्गदर्शन करता है के बीच ऊंचाई प्राप्त करने के लिए बस

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

तो full frame height = 812.0, safe area height = 734.0

नीचे उदाहरण है, जहां हरे दृश्य guide.layoutFrame

के फ्रेम है कर

enter image description here

+0

मैं जवाब अद्यतन – Ladislav

+0

धन्यवाद कि नेतृत्व मैं भी के बारे में सोच रहा था। मुझे नहीं लगता कि एक और अधिक विश्वसनीय समाधान है। लेकिन इसके साथ मुझे केवल पूरी असुरक्षित ऊंचाई मिलती है, है ना? प्रत्येक क्षेत्र के लिए दो ऊंचाई नहीं है? – Tulleb

+0

एक बार विचार किए जाने के बाद यह आपको सही उत्तर देगा – Ladislav

संबंधित मुद्दे