2017-09-27 11 views
8

मल्टीटास्किंग सुविधाओं को आईओएस 11 में अपडेट मिला, उनमें से एक slide over था जो नीचे दिए गए gif में प्रदर्शित किया गया है।आईओएस 11 में स्लाइड के रूप में कोई और ऐप चल रहा है या नहीं, इसका पता कैसे लगाया जाए?

enter image description here

इन परिवर्तनों यह अब संभव है क्या किसी अन्य ऐप एक मेरे ऐप पर "पर स्लाइड" है पता लगाने के लिए techniques that check frame size from iOS 9 का उपयोग करने के साथ

क्या यह पता लगाने के लिए कोई नई विधि है कि कोई अन्य ऐप स्लाइड के रूप में चल रहा है या नहीं?

+5

किसी ने नीचे मतदान किया और इस सवाल को "बहुत व्यापक" होने के लिए बंद कर दिया - मुझे समझ में नहीं आता कि आप सवाल का जवाब देने के बिना और अधिक विस्तृत कैसे प्राप्त कर सकते हैं। यदि आपको लगता है कि आपको प्रश्न के बारे में अधिक जानकारी चाहिए, तो बंद करने के बजाय मतदान करने की बजाय टिप्पणी करें। –

+0

एक अद्यतन यह है कि मैंने इसे हल करने के लिए कुछ खोजने का प्रयास करने में काफी समय बिताया - लेकिन यह देखने के लिए कोई सार्वजनिक तरीका नहीं है कि स्लाइड के रूप में एक और ऐप चल रहा है या नहीं, जहां तक ​​मैं देख सकता हूं। –

+0

यह दस्तावेज़ीकरण में बताता है कि जब उपयोगकर्ता ऐप पर एक स्लाइड जोड़ता है तो एप्लिकेशनWillResignActive कहा जाएगा। हो सकता है कि आप यहां मिली जानकारी से अपना स्वयं का समाधान बना सकें: https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/QuickStartForSlideOverAndSplitView.html#//apple_ref/doc/uid/TP40015145-CH13 -SW1 – Maurice

उत्तर

2

मैं इसे एक आईपैड प्रो पर काफी आसानी से काम करने में सक्षम था (जो साइड-बाय-साइड ऐप्स का समर्थन करता है, केवल स्लाइड ओवर नहीं)।

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 नहीं मिलता है।

आप इसे एक संभावना के रूप में देख सकते हैं, लेकिन आप स्लाइड-ओवर के बीच अंतर नहीं कर सकते हैं और स्क्रीन के शीर्ष से नीचे स्लाइडिंग से अधिसूचनाओं को देख सकते हैं। यह उस कारण से आदर्श नहीं है, लेकिन एप्लिकेशन लाइफसाइकिल की निगरानी शायद सबसे अच्छा है जो आप कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे