Die UIPageViewController-Seitensteuerung befindet sich zu nah an der Home-Leiste auf dem iPhone X iOS 11

8

Ich habe ein Programm mit einem Hauptansicht-Controller, der eine Schaltfläche enthält, auf die der Benutzer tippen kann, um 4 Seiten der "Schnellhilfe" über ein UIPageViewController anzuzeigen. Die 4 Seiten sind QuickHelpViewController0ID - QuickHelpViewController3ID und jeder ist ein Standard UIViewController . Wenn sie auf die Schaltfläche tippen, führe ich Folgendes aus:

%Vor%

Ich stelle auch eine UIPageViewControllerDataSource zur Verfügung, um jede der 4 Seiten nach Bedarf zu erstellen, wenn der Benutzer zur nächsten / vorherigen Seite scrollt.

Dies funktioniert auf iOS 9.3 und 10.x einwandfrei. Es funktioniert auch auf 11.0 für alle Geräte außer dem iPhone X (Simulator). Die Reihe der 4-seitigen Anzeigepunkte befindet sich unten am Bildschirm, nur 1 oder 2 Pixel über der neuen "Home-Leiste", die iOS 11 bietet (zum Wechseln zwischen Apps usw.).

Ich habe ein Video von Apple namens Apps für iPhone X erstellen gefunden, in dem der Entwickler über die Behebung eines Problems diskutiert ähnliches Problem, aber in diesem Fall bestand seine Lösung darin, einfach das automatische Layout zu ändern, um ein Kind UIPageControl auf den unteren "sicheren Bereich" zu beschränken, anstatt auf den traditionellen unteren Layout-Leitfaden. Aber ich verwende kein UIPageControl auf einem anderen View-Controller; Ich verwende UIPageViewController , und ich sehe keine Möglichkeit, die Position der Seitensteuerelemente am unteren Rand des Fensters zu steuern. (Ja, ich habe die Option "Safe Area-Layout-Hilfslinien verwenden" in Interface Builder aktiviert.)

Ich kann mir nicht vorstellen, dass iOS 11 die UIPageViewController in meinem Szenario standardmäßig falsch einstellt, noch sehe ich irgendeine offensichtliche Möglichkeit, es zu beheben. Irgendwelche Vorschläge?

    
Kenster999 27.09.2017, 04:33
quelle

2 Antworten

9

Der Fix dafür kommt in 11.2

Zypern

  

UIKit -   Gelöste Probleme

     

Das Anzeigen eines Seitensteuerelements in UIPageViewController auf einem iPhone X überlappt nicht mehr mit der Home-Anzeige am unteren Bildschirmrand. (34478195)

    
jlichti 02.11.2017, 19:59
quelle
1

Ich hatte das gleiche Problem, habe aber festgestellt, dass, wenn ich die "Kanten verlängern - Untere Leiste" auf dem Hauptansicht-Controller deaktiviere, die Punkte nach oben gehen und für das iPhone X im Simulator korrekt angezeigt werden. Leider verschiebt es auch die Punkte auf allen anderen Geräten ... ist vielleicht kein Problem, wenn es nicht zu viel auf der Seite gibt, aber für mich hat es eine Seite mit viel Text abgeschnitten.

Es sieht definitiv wie ein Fehler aus, also warte ich darauf, dass Apple das Problem hoffentlich behebt, da ich keine fiesen Hacks programmieren möchte, um die Ränder der unteren Ränder unter dem unteren Balken nur für iPhone X zu ändern.

    
cooman 09.10.2017 08:58
quelle

Tags und Links