मैं इसे एक आईपैड प्रो पर काफी आसानी से काम करने में सक्षम था (जो साइड-बाय-साइड ऐप्स का समर्थन करता है, केवल स्लाइड ओवर नहीं)।
class ViewController: UIViewController {
override func viewWillLayoutSubviews() {
isThisAppFullScreen()
}
@discardableResult func isThisAppFullScreen() -> Bool {
let isFullScreen = UIApplication.shared.keyWindow?.frame == UIScreen.main.bounds
print("\(#function) - \(isFullScreen)")
return isFullScreen
}
}
अंतिम परिणाम है कि यह प्रिंट होगा "सही" अगर दृश्य पूर्ण स्क्रीन और "गलत" अगर यह अन्य एप्लिकेशन के साथ स्क्रीन साझा है, और इस पर हर बार कुछ भी दिखाया गया है चलाया जाता है: यहाँ कोड है , छुपा, या आकार बदल गया।
मैं यहाँ एक सरल परिणाम दिखा वीडियो बनाया,:
https://www.dropbox.com/s/g8pqboj9jjhnlca/FullScreenOrNotTest.mov?dl=0
समस्या तो पुराने उपकरणों है कि केवल स्लाइड से अधिक समर्थन करते हैं। इनके साथ, आपके ऐप का आकार बदल नहीं रहा है। इसके बजाए, यह केवल सक्रिय उपयोग से इस्तीफा दे रहा है और दूसरा ऐप सक्रिय हो रहा है।
इस मामले में, आप AppDelegate
में applicationWillResignActive
और applicationDidBecomeActive
देखने के लिए तर्क दे सकते हैं। जब आप स्लाइड-ओवर करते हैं, तो आपको applicationWillResignActive
मिलता है लेकिन applicationDidEnterBackground
नहीं मिलता है।
आप इसे एक संभावना के रूप में देख सकते हैं, लेकिन आप स्लाइड-ओवर के बीच अंतर नहीं कर सकते हैं और स्क्रीन के शीर्ष से नीचे स्लाइडिंग से अधिसूचनाओं को देख सकते हैं। यह उस कारण से आदर्श नहीं है, लेकिन एप्लिकेशन लाइफसाइकिल की निगरानी शायद सबसे अच्छा है जो आप कर सकते हैं।
स्रोत
2017-12-19 18:54:03
किसी ने नीचे मतदान किया और इस सवाल को "बहुत व्यापक" होने के लिए बंद कर दिया - मुझे समझ में नहीं आता कि आप सवाल का जवाब देने के बिना और अधिक विस्तृत कैसे प्राप्त कर सकते हैं। यदि आपको लगता है कि आपको प्रश्न के बारे में अधिक जानकारी चाहिए, तो बंद करने के बजाय मतदान करने की बजाय टिप्पणी करें। –
एक अद्यतन यह है कि मैंने इसे हल करने के लिए कुछ खोजने का प्रयास करने में काफी समय बिताया - लेकिन यह देखने के लिए कोई सार्वजनिक तरीका नहीं है कि स्लाइड के रूप में एक और ऐप चल रहा है या नहीं, जहां तक मैं देख सकता हूं। –
यह दस्तावेज़ीकरण में बताता है कि जब उपयोगकर्ता ऐप पर एक स्लाइड जोड़ता है तो एप्लिकेशनWillResignActive कहा जाएगा। हो सकता है कि आप यहां मिली जानकारी से अपना स्वयं का समाधान बना सकें: https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/QuickStartForSlideOverAndSplitView.html#//apple_ref/doc/uid/TP40015145-CH13 -SW1 – Maurice