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:
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?
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.