Avatar ·

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 हो।

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग