Avatar ·

iOS में Safe Area के ऊपरी और निचले मार्जिन (safeAreaInsets) की ऊंचाई कैसे प्राप्त करें?

नमस्ते, साथियों! मैं Swift में iOS के लिए एक ऐप विकसित कर रहा हूं और एक समस्या का सामना कर रहा हूं: मुझे प्रोग्रामेटिक रूप से Safe Area के ऊपरी और निचले मार्जिन के सटीक मान प्राप्त करने की आवश्यकता है (उदाहरण के लिए, iPhone X और नए मॉडलों पर स्टेटस बार और "नॉच" की ऊंचाई, साथ ही निचले Home Indicator पैनल को ध्यान में रखने के लिए)। \n\nमैंने `viewDidLoad()` मेथड में `view.safeAreaInsets.top` और `view.safeAreaInsets.bottom` का उपयोग करने का प्रयास किया, लेकिन ये मान 0 लौटाते हैं। मैंने पढ़ा है कि ऐसा इसलिए होता है क्योंकि view लोड होने के समय Safe Area अभी तक तैयार नहीं होती है। एक वर्कअराउंड के रूप में, मैंने इस कोड को `viewDidLayoutSubviews()` में कॉल करने का प्रयास किया, लेकिन वहां मुझे अजीब मान मिलते हैं — उदाहरण के लिए, `top` 44 है और `bottom` 34 है, जबकि iPhone 14 Pro Max पर यह क्रमशः 59 और 34 होना चाहिए (डायनामिक आइलैंड को ध्यान में रखते हुए)। \n\nयह रहा मेरा वर्तमान कोड: