iOS एप्लिकेशन की स्क्रीन पर सबसे ऊपर (top-most) UIViewController कैसे प्राप्त करें?
सभी को नमस्ते! मैं Swift में अपना पहला iOS एप्लिकेशन लिख रहा हूँ और एक समस्या का सामना कर रहा हूँ। मेरे पास कई modal windows (UIAlertController, UIImagePickerController और कस्टम view-controllers) हैं जो कभी-कभी एक-दूसरे के ऊपर खुल जाते हैं। मुझे प्रोग्रामेटिक रूप से उस controller का reference प्राप्त करना है जो वर्तमान में hierarchy में सबसे ऊपर है, उदाहरण के लिए, एक नया alert दिखाने के लिए या यह जाँचने के लिए कि क्या कोई modal screen पहले से खुला है।
मैंने `UIApplication.shared.keyWindow?.rootViewController` का उपयोग करने का प्रयास किया, लेकिन यह केवल root controller देता है, वर्तमान दृश्यमान controller नहीं। यदि मैं एक modal controller खोलता हूँ, तो rootViewController नहीं बदलता। मैंने `presentedViewController` के माध्यम से recursively जाने का प्रयास किया, लेकिन यह हमेशा काम नहीं करता, खासकर यदि UINavigationController या UITabBarController मौजूद हो।