iOS
ऐप व्यापक संचालन
खोज…
सबसे ऊपरी UIViewController प्राप्त करें
सबसे सामान्य UIViewController
प्राप्त करने के लिए एक सामान्य दृष्टिकोण आपके सक्रिय UIWindow
के RootViewController को प्राप्त करना है। मैंने इसके लिए एक एक्सटेंशन लिखा:
extension UIApplication {
func topViewController(_ base: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController {
if let nav = base as? UINavigationController {
return topViewController(nav.visibleViewController)
}
if let tab = base as? UITabBarController {
if let selected = tab.selectedViewController {
return topViewController(selected)
}
}
if let presented = base?.presentedViewController {
return topViewController(presented)
}
return base!
}
इंटरसेप्ट सिस्टम इवेंट
IOS के NotificationCenter का उपयोग करना, जो बहुत शक्तिशाली हो सकता है, आप कुछ ऐप-वाइड ईवेंट को इंटरसेप्ट करने में सक्षम हैं:
NotificationCenter.default.addObserver(
self,
selector: #selector(ViewController.do(_:)),
name: NSNotification.Name.UIApplicationDidBecomeActive,
object: nil)
आप बहुत अधिक घटनाओं के लिए पंजीकरण कर सकते हैं, बस https://developer.apple.com/reference/foundation/nsnotification.name पर एक नज़र डालें।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow