final class FindHelper {
static let share = FindHelper()
var currentViewCotroller: UIViewController? {
var result: UIViewController? = nil
var window: UIWindow
guard let _window = UIApplication.shared.keyWindow else {
return result
}
window = _window
if window.windowLevel != UIWindow.Level.normal {
guard let _tmpWin = UIApplication.shared.windows
.filter({ $0.windowLevel == UIWindow.Level.normal })
.first else {
return result
}
window = _tmpWin
}
var nextResponder: UIResponder? = nil
let appRootVC = window.rootViewController
// 如果是present上來(lái)的appRootVC.presentedViewController 不為nil
if let presentedVC = appRootVC?.presentedViewController {
nextResponder = presentedVC
} else {
let frontView = window.subviews[0]
nextResponder = frontView.next
}
if let tabbar = nextResponder as? UITabBarController {
if let nav = tabbar.viewControllers?[tabbar.selectedIndex] as? UINavigationController {
result = nav.children.last
}
} else if let nav = nextResponder as? UINavigationController {
result = nav.children.last
} else {
result = nextResponder as? UIViewController
}
return result
}
}
swift查找當(dāng)前ViewController
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 查找各個(gè)部門(mén)當(dāng)前(to_date='9999-01-01')領(lǐng)導(dǎo)當(dāng)前薪水詳情以及其對(duì)應(yīng)部門(mén)編號(hào)dept_no 這道...
- + (UIViewController*) findBestViewController:(UIViewContr...
- (2016-08-02-Tue 20:15:26) Find the element currently disp...
- //根據(jù)view查找控制器 //獲取當(dāng)前window的頂層控制器