很多应用场景会用到,话不多说…
func getCurrentVC1() -> UIViewController? {
var result: UIViewController? = nil
if let window = UIApplication.shared.keyWindow{
var keyWindow = window
// UIWindow.Level window三种等级 normal,alert,statusBar,可见normal才是我们真正要用到的,这段代码就是
排除其他两种level,找到所需的normalWindow
if window.windowLevel != UIWindow.Level.normal{
let windows = UIApplication.shared.windows
for tmp in windows{
if tmp.windowLevel == UIWindow.Level.normal{
keyWindow = tmp
break
}
}
}
func getCurrentVC1(root:UIViewController?) -> UIViewController?{
var currentVC:UIViewController? = nil
var rootVC = root
while rootVC?.presentationController != nil {
rootVC = rootVC?.presente