كيفية الحصول على أعلى UIViewController (top-most) على شاشة تطبيق iOS؟
مرحباً بالجميع! أكتب أول تطبيق iOS لي بلغة Swift وواجهت مشكلة. لدي عدة نوافذ مشروطة (UIAlertController و UIImagePickerController و view controllers مخصصة) تفتح أحياناً فوق بعضها البعض. أحتاج إلى الحصول برمجياً على مرجع إلى controller الموجود حالياً في أعلى التسلسل الهرمي، لعرض alert جديد مثلاً أو للتحقق مما إذا كانت شاشة مشروطة مفتوحة بالفعل.\n\nحاولت استخدام `UIApplication.shared.keyWindow?.rootViewController` لكن هذا يعطي فقط root controller وليس controller المرئي الحالي. إذا فتحت modal controller، فإن rootViewController لا يتغير. حاولت التنقل بشكل متكرر عبر `presentedViewController` لكن هذا لا يعمل دائماً، خاصة إذا كان هناك UINavigationController أو UITabBarController.