// // UIApplication.swift // VDS // // Created by Matt Bruce on 4/14/23. // import Foundation import UIKit extension UIApplication { /// Helper method to find the top most viewcontroller in the app /// - Parameter controller: UIViewController to test against /// - Returns: Found top most UIViewController public class func topViewController(controller: UIViewController? = UIApplication.shared.windows.first?.rootViewController) -> UIViewController? { if let nav = controller as? UINavigationController { return topViewController(controller: nav.visibleViewController) } if let tab = controller as? UITabBarController { if let selected = tab.selectedViewController { return topViewController(controller: selected) } } if let presented = controller?.presentedViewController { return topViewController(controller: presented) } return controller } }