UIScrollView
funktioniert ohne den Leerraum links auf allen iPads oder iPhones außer dem iPhone X. Wie kann ich den Leerraum entfernen?
Ich benutze Storyboards. Bounce On Scroll/Zoom sind alle deaktiviert. Kein weißer Raum auf dem iPad oder iPhone außer dem iPhone X. Ich denke, es könnte etwas mit der Safe Area-Sache zu tun haben.
Nun, ich habe dieses Problem auf nicht elegante Weise gelöst. Aber es funktioniert wie ein Zauber. (Ich habe alle anderen Antworten ausprobiert. Vielen Dank für Ihre Hilfe, aber diese Antworten scheinen in meinem Fall nicht zu funktionieren.)
var leftMargin: CGFloat = 0
var rightMargin: CGFloat = 0
if Device.isPhone() && Device.IS_5_8_INCHES() {
self.leftMargin = 44
self.rightMargin = 44
}
let frame = CGRect(
x: (self.view.frame.width - self.leftMargin - self.rightMargin) * CGFloat(pageIndex),
y: ...
)
Das Festlegen der Einschränkung relativ zu safeArea
ist für iPhone-X eine gute Praxis. So sagt Apple -
Wenn die Ansicht auf dem Bildschirm angezeigt wird, gibt diese Anleitung den Teil der Ansicht wieder, der nicht von Navigationsleisten, Registerkartenleisten, Symbolleisten und anderen Ansichten der Vorfahren abgedeckt wird.
In Ihrem Fall geben Sie die Bedingungen leading
& trailing
von scrollView
mit safeArea
, Not superView
an.
Wenn Sie also das Risiko eingehen, superview
anstelle von safeArea
als Einschränkung zu verwenden, wird Ihr Objektinhalt möglicherweise abgeschnitten, insbesondere wenn Sie nach links drehen. Der Inhalt von ganz links wird unter der höchsten Stufe von iPhone-X abgeschnitten.
Dieser Abstand bezieht sich auf den sicheren Bereich, der links/rechts von UIScrollview als Inhalts-Einfügungen in Querformat auf dem iPhone X angewendet wird und mit der schreibgeschützten Eigenschaft UIScrollview.safeAreaInsets
angezeigt werden kann.
Folgende Zeile kann verwendet werden, um sicherer Bereich Einsätze loszuwerden, wenn Sie nicht brauchen:
UIScrollview.contentInsetAdjustmentBehavior = .never
Der Standardwert UIScrollViewContentInsetAdjustmentBehavior.automatic
enthält Seitenränder für Layoutrichtlinien für den sicheren Bereich als Inhaltseinfügungen.
Hinweis: Einschränkungen für das automatische Layout haben nichts mit den Einfügungen zu tun, sondern nur mit dem Anpassungsverhalten der Einfügungen in iOS 11 UIScrollview.