Bu çalışmayı oldukça kolay bir şekilde iPad Pro'da (yalnızca slayt kaydırmaya değil yan yana uygulamalara da destek olur) elde edebildim.
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
}
}
sonuç buna görünümü tam ekran ve başka bir uygulama ile ekran paylaşımı eğer "yanlış" ise "true" yazdırmak olacağını ve bu gösterildiği her seferde bir şey çalıştırılır: İşte kod , gizli veya yeniden boyutlandırıldı.
Burada, sonucu gösteren basit bir video yaptı:
https://www.dropbox.com/s/g8pqboj9jjhnlca/FullScreenOrNotTest.mov?dl=0
sorun sonra sadece slayt üzerinde desteklemek eski cihazlar olduğunu. Bunlarla, uygulamanız artık yeniden boyutlandırılmıyor. Bunun yerine, sadece aktif kullanımı istifa ediyor ve diğer uygulama aktif hale geliyor.
Bu durumda, applicationWillResignActive
ve applicationDidBecomeActive
için AppDelegate
'a bakmanız yeterlidir. Kaydırdığınızda, applicationWillResignActive
olsun, applicationDidEnterBackground
'u almazsınız.
Bunu bir olasılık olarak düşünebilirsiniz, ancak ekranın üst kısmından aşağı doğru kaydırarak bir sürükle ve Bildirimler'in görünümünü ayırt edemezsiniz. Bu nedenle ideal değil, ancak uygulama yaşam döngüsünü izlemek muhtemelen yapabileceğiniz en iyisidir.
Birisi oy kullandı ve bu soruyu "Çok geniş" olduğu için kapalı olması için oyladı - Bu soruya bir yanıt önermeden nasıl daha ayrıntılı bir şekilde bilgi edinebileceğinizi anlamıyorum. Soru hakkında daha fazla bilgiye ihtiyaç duyduğunuzu düşünüyorsanız, oylama yapmak yerine yorumda bulunun. –
Bir güncelleştirme, bunu çözmek için bir şeyler bulmaya çalışırken oldukça fazla zaman harcadım - ancak başka bir uygulamanın görebildiğim kadarıyla slayt gösterip göstermediğini kontrol etmek için herkese açık bir yöntem yoktur. –
Kullanıcı, uygulama üzerinde bir slayt eklediğinde, applicationWillResignActive öğesinin çağrılacağını belgeler. Belki de burada bulunan bilgilerden kendi çözümünüzü oluşturabilirsiniz: https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/QuickStartForSlideOverAndSplitView.html#//apple_ref/doc/uid/TP40015145-CH13 -SW1 – Maurice