33 lines
879 B
Swift
33 lines
879 B
Swift
//
|
|
// UIApplication.swift
|
|
// VDS
|
|
//
|
|
// Created by Matt Bruce on 4/14/23.
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
|
|
extension UIApplication {
|
|
|
|
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
|
|
}
|
|
}
|
|
|