符合 UITabBarController ---> UINavigationController布局
//MARK: 获取当前页面的最顶层控制器
func getCurrentVCBS() -> UIViewController { let keywindow = UIApplication.shared.keyWindow let firstView: UIView = (keywindow?.subviews.first)! let secondView: UIView = firstView.subviews.first! var vc = viewForController(view: secondView)! vc = ((vc as! UITabBarController).selectedViewController! as! UINavigationController).visibleViewController! return vc } private func viewForController(view:UIView)->UIViewController?{ var next:UIView? = view repeat{ if let nextResponder = next?.next, nextResponder is UIViewController { return (nextResponder as! UIViewController) } next = next?.superview }while next != nil return nil }
//MARK: 校验结果的正确性
//classType: 当前页面类类型 func vcResult(classType: UIViewController.Type) -> Bool { return getCurrentVCBS().isKind(of: classType) }