Wie erkennt man, ob eine andere App in iOS 11 als Folie läuft?

8

Die Multitasking-Funktionen wurden in iOS 11 aktualisiert, eine davon war rutscht über , was im gif gezeigt wird unten.

Mit diesen Änderungen ist es nicht mehr möglich, das Techniken, die die Frame-Größe von iOS 9 überprüfen , um zu erkennen, ob eine andere App über meine App" rutscht ".

Gibt es eine neue Methode, um zu erkennen, ob eine andere App als Folie läuft?

    
Robin Andersson 27.09.2017, 08:17
quelle

1 Antwort

2

Ich konnte das recht einfach auf einem iPad Pro (das Side-by-Side-Apps, nicht nur Slide-Overs) unterstützt. Hier ist der Code:

%Vor%

Das Endergebnis ist, dass "True" gedruckt wird, wenn die Ansicht Vollbild ist, und "False", wenn der Bildschirm mit einer anderen App geteilt wird. Dies wird jedes Mal ausgeführt, wenn etwas angezeigt, ausgeblendet oder in der Größe geändert wird. p>

Ich machte ein einfaches Video, das das Ergebnis hier zeigt:

Ссылка

Das Problem sind dann ältere Geräte, die nur Slide-Over unterstützen. Mit diesen wird Ihre App nicht mehr in der Größe geändert. Stattdessen wird nur aktiv zurückgegangen und die andere App wird aktiv.

In diesem Fall ist alles, was Sie tun können, Logik in AppDelegate zu setzen, um nach applicationWillResignActive und applicationDidBecomeActive zu suchen. Wenn Sie rutschen, erhalten Sie applicationWillResignActive , aber nicht applicationDidEnterBackground .

Sie könnten dies als eine Möglichkeit betrachten, aber Sie können nicht zwischen einem Slideover und einem Blick auf die Benachrichtigungen unterscheiden, wenn Sie vom oberen Bildschirmrand nach unten rutschen. Aus diesem Grund ist es nicht ideal, aber die Überwachung des Anwendungslebenszyklus ist wahrscheinlich das Beste, was Sie tun können.

    
David S. 19.12.2017, 18:54
quelle

Tags und Links