Auto Layout macht mir das Leben schwer. Theoretisch würde es sehr nützlich sein, wenn ich wechselte, aber ich scheine die ganze Zeit dagegen anzukämpfen.
Ich habe ein Demo-Projekt erstellt, um Hilfe zu finden. Weiß jemand, wie die Abstände zwischen Ansichten gleichmäßig vergrößert oder verkleinert werden können, wenn die Größe der Ansicht geändert wird?
Hier sind drei Beschriftungen (manuell vertikal gleichmäßig verteilt):
Ich möchte, dass sie ihren Abstand (nicht die Ansichtsgröße) beim Drehen gleichmäßig ändern. Standardmäßig quetschen sich die Draufsicht und die Unteransicht zur Mitte hin:
Antworten:
Mein Ansatz ermöglicht es Ihnen, dies im Interface Builder zu tun. Sie erstellen "Abstandshalteransichten", die Sie so eingestellt haben, dass sie gleich hoch sind. Fügen Sie dann den Beschriftungen obere und untere Einschränkungen hinzu (siehe Screenshot).
Insbesondere habe ich eine oberste Einschränkung für 'Spacer View 1', um eine Ansicht mit einer Höhenbeschränkung von niedrigerer Priorität als 1000 und einer Höhe zu erhalten, die allen anderen 'Spacer Views' entspricht. 'Spacer View 4' hat eine untergeordnete Platzbeschränkung für die Übersicht. Jedes Etikett hat eine entsprechende obere und untere Einschränkung für die nächstgelegenen "Abstandshalteransichten".
Hinweis: Stellen Sie sicher, dass Ihre Beschriftungen keine zusätzlichen Platzbeschränkungen für den oberen / unteren Bereich haben, die angezeigt werden sollen. nur die zu den "Weltraumansichten". Dies ist zufriedenstellend, da die oberen und unteren Einschränkungen für 'Space View 1' bzw. 'Spacer View 4' gelten.
Duh 1: Ich habe meine Ansicht dupliziert und sie lediglich in den Querformatmodus versetzt, damit Sie sehen können, dass sie funktioniert.
Duh 2: Die 'Spacer Views' hätten transparent sein können.
Duh 3: Dieser Ansatz könnte horizontal angewendet werden.
quelle
LOOK, KEINE SPACERS!
Aufgrund der Vorschläge im Kommentarbereich meiner ursprünglichen Antwort, insbesondere der hilfreichen Vorschläge von @ Rivera, habe ich meine ursprüngliche Antwort vereinfacht.
Ich verwende Gifs, um zu veranschaulichen, wie einfach dies ist. Ich hoffe, Sie finden die Gifs hilfreich. Nur für den Fall, dass Sie ein Problem mit Gifs haben, habe ich die alte Antwort unten mit einfachen Screenshots versehen.
Anleitung:
1) Fügen Sie Ihre Schaltflächen oder Beschriftungen hinzu. Ich benutze 3 Tasten.
2) Fügen Sie der Übersicht eine mittlere x-Einschränkung von jeder Schaltfläche hinzu:
3) Fügen Sie der unteren Layouteinschränkung von jeder Schaltfläche eine Einschränkung hinzu:
4) Passen Sie die in Nr. 3 oben hinzugefügte Einschränkung wie folgt an:
a) Wählen Sie die Einschränkung aus, b) entfernen Sie die Konstante (auf 0 gesetzt), c) ändern Sie den Multiplikator wie folgt: Nehmen Sie die Anzahl der Tasten + 1 und setzen Sie den Multiplikator von oben beginnend auf buttonCountPlus1: 1 und dann auf buttonCountPlus1 : 2 und schließlich buttonCountPlus1: 3 . (Ich erkläre, woher ich diese Formel habe, in der alten Antwort unten, wenn Sie interessiert sind).
5) Hier läuft eine Demo!
Hinweis: Wenn Ihre Schaltflächen größere Höhen haben, müssen Sie dies im konstanten Wert ausgleichen, da sich die Einschränkung am unteren Rand der Schaltfläche befindet.
Alte Antwort
Trotz der Aussagen von Apples Dokumenten und Erica Saduns ausgezeichnetem Buch ( Auto Layout Demystified ) ist es möglich, Ansichten ohne Abstandshalter gleichmäßig zu platzieren . Dies ist in IB und im Code für eine beliebige Anzahl von Elementen, die Sie gleichmäßig platzieren möchten, sehr einfach. Alles, was Sie brauchen, ist eine mathematische Formel namens "Abschnittsformel". Es ist einfacher zu tun als zu erklären. Ich werde mein Bestes geben, indem ich es in IB demonstriere, aber es ist genauso einfach, es in Code zu tun.
In dem fraglichen Beispiel würden Sie
1) Beginnen Sie, indem Sie für jedes Etikett eine Mittenbeschränkung festlegen. Dies ist sehr einfach zu tun. Steuern Sie einfach das Ziehen von jedem Etikett nach unten.
2) Halten Sie die Umschalttaste gedrückt, da Sie genauso gut die andere Einschränkung hinzufügen können, die wir verwenden werden, nämlich die "Layoutanleitung von unten nach unten".
3) Wählen Sie die "Layoutführung von unten nach unten" und "Horizontal im Container zentrieren". Tun Sie dies für alle 3 Etiketten.
Wenn wir das Etikett nehmen, dessen Koordinate wir bestimmen möchten, und es durch die Gesamtzahl der Etiketten plus 1 dividieren, können wir IB eine Zahl hinzufügen, um den dynamischen Ort zu erhalten. Ich vereinfache die Formel, aber Sie können sie verwenden, um den horizontalen Abstand oder sowohl den vertikalen als auch den horizontalen Abstand gleichzeitig festzulegen. Es ist super mächtig!
Hier sind unsere Multiplikatoren.
Label1 = 1/4 = 0,25,
Label2 = 2/4 = .5,
Label3 = 3/4 = 0,75
(Bearbeiten: @Rivera kommentierte, dass Sie die Verhältnisse einfach direkt im Multiplikatorfeld verwenden können und xCode mit rechnen!)
4) Wählen wir also Label1 und die unterste Einschränkung. So was:
5) Wählen Sie im Attributinspektor das "Zweite Element" aus.
6) Wählen Sie in der Dropdown-Liste "Erstes und zweites Element umkehren".
7) Nullen Sie die Konstante und den wC hAny-Wert auf Null. (Sie können hier einen Offset hinzufügen, wenn Sie ihn benötigen).
8) Dies ist der kritische Teil: Addieren Sie im Multiplikatorfeld unseren ersten Multiplikator 0,25.
9) Wenn Sie gerade dabei sind, setzen Sie das obere "Erste Element" auf "CenterY", da wir es auf die y-Mitte des Etiketts zentrieren möchten. So sollte das alles aussehen.
10) Wiederholen Sie diesen Vorgang für jedes Etikett und stecken Sie den entsprechenden Multiplikator ein: 0,5 für Etikett2 und 0,75 für Etikett3. Hier ist das Endprodukt in allen Ausrichtungen mit allen kompakten Geräten! Super einfach. Ich habe mir viele Lösungen angesehen, die Unmengen von Code und Abstandshalter beinhalten. Dies ist bei weitem die beste Lösung, die ich zu diesem Thema gesehen habe.
Update: @kraftydevil fügt hinzu, dass die Anleitung für das untere Layout nur in Storyboards und nicht in xibs angezeigt wird. Verwenden Sie in xibs 'Bottom Space to Container'. Guter Fang!
quelle
Sehr schnelle Interface Builder-Lösung:
Wenn eine beliebige Anzahl von Ansichten innerhalb einer Übersicht gleichmäßig verteilt sein soll, geben Sie für das horizontale Layout einfach die Einschränkung "Mitte X an Übersicht anzeigen" oder für das vertikale Layout die Option "Mitte Y-Ansicht ausrichten" an und stellen Sie den Multiplikator auf
N:p
( HINWEIS: einige hatte besseres Glück mitp:N
- siehe unten )wo
N = total number of views
, undp = position of the view including spaces
Die erste Position ist 1, dann ein Leerzeichen und die nächste Position 3, sodass p zu einer Reihe wird [1,3,5,7,9, ...]. Funktioniert für eine beliebige Anzahl von Ansichten.
Wenn Sie also 3 Ansichten zum Platzieren haben, sieht es so aus:
BEARBEITEN Hinweis: Die Auswahl
N:p
oderp:N
hängt von der Beziehungsreihenfolge Ihrer Ausrichtungsbeschränkung ab. Wenn "Erstes Element" Superview.Center ist, können Sie verwendenp:N
, während Sie verwenden können , wenn Superview.Center "Zweites Element" istN:p
. Im Zweifelsfall einfach beides ausprobieren ... :-)quelle
Ab iOS 9 hat Apple dies mit dem (lang erwarteten) sehr einfach gemacht
UIStackView
. Wählen Sie einfach die Ansichten aus, die Sie im Interface Builder enthalten möchten, und wählen Sie Editor -> Einbetten -> Stapelansicht. Legen Sie die entsprechenden Einschränkungen für Breite, Höhe und Rand für die Stapelansicht fest und stellen Sie sicher, dass die Verteilungseigenschaft auf "Gleicher Abstand" festgelegt ist:Wenn Sie iOS 8 oder niedriger unterstützen möchten, müssen Sie natürlich eine der anderen Optionen auswählen.
quelle
Ich war auf einer Achterbahnfahrt, um Autolayout zu lieben und es zu hassen. Der Schlüssel zum Lieben scheint darin zu liegen, Folgendes zu akzeptieren:
Das, was Sie versuchen, ist jedoch nicht einfach und im Interface Builder schwer zu erreichen. Es ist ziemlich einfach, in Code zu tun. Dieser Code
viewDidLoad
erstellt und positioniert drei Beschriftungen, wie Sie sie anfordern:Wie gesagt, dieser Code ist mit ein paar Kategoriemethoden stark vereinfacht
UIView
, aber der Klarheit halber habe ich es hier auf dem langen Weg gemacht.Die Kategorie ist hier für die interessiert, und sie hat ein Verfahren zum gleichmäßigen Verteilen eine Reihe von Ansichten entlang einer bestimmten Achsabstand.
quelle
Die meisten dieser Lösungen hängen davon ab, dass eine ungerade Anzahl von Elementen vorhanden ist, sodass Sie das mittlere Element nehmen und zentrieren können. Was ist, wenn Sie eine gerade Anzahl von Artikeln haben, die Sie dennoch gleichmäßig verteilen möchten? Hier ist eine allgemeinere Lösung. Diese Kategorie verteilt eine beliebige Anzahl von Elementen gleichmäßig entlang der vertikalen oder horizontalen Achse.
Beispiel für die vertikale Verteilung von 4 Beschriftungen in ihrer Übersicht:
NSLayoutConstraint + EvenDistribution.h
NSLayoutConstraint + EvenDistribution.m
quelle
Der richtige und einfachste Weg ist die Verwendung von Stapelansichten.
quelle
Schauen Sie sich die Open Source-Bibliothek an PureLayout an . Es bietet einige API-Methoden zum Verteilen von Ansichten, einschließlich Varianten, bei denen der Abstand zwischen den einzelnen Ansichten festgelegt ist (die Ansichtsgröße variiert je nach Bedarf) und bei denen die Größe jeder Ansicht festgelegt ist (der Abstand zwischen den Ansichten variiert je nach Bedarf). Beachten Sie, dass all dies ohne die Verwendung von "Spacer-Ansichten" erreicht wird.
Von NSArray + PureLayout.h :
Da alles Open Source ist, werfen Sie einen Blick auf die Implementierung, wenn Sie sehen möchten, wie dies ohne Spacer-Ansichten erreicht wird. (Es hängt davon ab, ob sowohl die
constant
als auchmultiplier
die Einschränkungen genutzt werden.)quelle
Ich habe ein ähnliches Problem und habe diesen Beitrag entdeckt. Keine der derzeit bereitgestellten Antworten löst das Problem jedoch so, wie Sie es möchten. Sie machen den Abstand nicht gleichmäßig, sondern verteilen die Mitte der Etiketten gleichmäßig. Es ist wichtig zu verstehen, dass dies nicht dasselbe ist. Ich habe ein kleines Diagramm erstellt, um dies zu veranschaulichen.
Es gibt 3 Ansichten, alle 20pt groß. Wenn Sie eine der vorgeschlagenen Methoden verwenden, werden die Zentren der Ansichten gleichmäßig verteilt und Sie erhalten das abgebildete Layout. Beachten Sie, dass die y-Mitte der Ansichten gleichmäßig verteilt ist. Der Abstand zwischen Übersicht und Draufsicht beträgt jedoch 15pt, während der Abstand zwischen den Unteransichten nur 5pt beträgt. Damit die Ansichten gleichmäßig verteilt sind, sollten beide 10pt sein, dh alle blauen Pfeile sollten 10pt sein.
Trotzdem habe ich noch keine gute generische Lösung gefunden. Derzeit ist es meine beste Idee, "Abstandsansichten" zwischen die Unteransichten einzufügen und die Höhen der Abstandsansichten gleich einzustellen.
quelle
Ich konnte dies vollständig in IB lösen:
Wenn Sie also drei Beschriftungen haben, setzen Sie die Multiplikatoren für jede dieser Einschränkungen auf 0,1666667, 0,5, 0,833333.
quelle
Ich habe eine perfekte und einfache Methode gefunden. Mit dem automatischen Layout können Sie die Größe der Leerzeichen nicht gleichmäßig ändern, aber Sie können die Größe der Ansichten gleichmäßig ändern. Fügen Sie einfach einige unsichtbare Ansichten zwischen Ihre Felder ein und teilen Sie dem automatischen Layout mit, dass sie dieselbe Größe haben sollen. Es funktioniert perfekt!
Eines ist jedoch zu beachten; Wenn ich die Größe im Interface-Designer reduzierte, wurde es manchmal verwirrt und hinterließ ein Etikett, wo es war, und es gab einen Konflikt, wenn die Größe um einen ungeraden Betrag geändert wurde. Ansonsten hat es perfekt funktioniert.
edit: Ich habe festgestellt, dass der Konflikt zu einem Problem wurde. Aus diesem Grund habe ich eine der Abstandsbeschränkungen genommen, sie gelöscht und durch zwei Einschränkungen ersetzt, eine größer als oder gleich und eine kleiner als oder gleich. Beide waren gleich groß und hatten eine viel niedrigere Priorität als die anderen Einschränkungen. Das Ergebnis war kein weiterer Konflikt.
quelle
Aufbauend auf der Antwort von Ben Dolman werden die Ansichten gleichmäßiger verteilt (mit Polsterung usw.):
quelle
Unter https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/AutoLayoutbyExample/AutoLayoutbyExample.html finden Sie eine ausführliche Beschreibung zur Lösung Ihres Problems.
quelle
Bei Etiketten funktioniert dies zumindest einwandfrei:
@"H:|-15-[first(==second)]-[second(==third)]-[third(==first)]-15-|
Wenn die erste die gleiche Breite wie die zweite und die zweite die dritte und die dritte die erste hat, erhalten alle die gleiche Breite ... Sie können dies sowohl horizontal (H) als auch vertikal (V) tun.
quelle
schnelle 3 Version
quelle
Ich weiß, dass seit der ersten Antwort eine Weile vergangen ist, aber ich bin gerade auf das gleiche Problem gestoßen und möchte meine Lösung teilen. Für kommende Generationen ...
Ich habe meine Ansichten auf viewDidLoad festgelegt:
Und dann lösche ich bei updateViewConstrains zuerst alle Einschränkungen, erstelle dann das Ansichtswörterbuch und berechne dann den Abstand, der zwischen den Ansichten verwendet werden soll. Danach benutze ich einfach das Visual Language Format, um die Einschränkungen festzulegen:
Das Gute an dieser Methode ist, dass Sie nur sehr wenig rechnen müssen. Ich sage nicht, dass dies die perfekte Lösung ist, aber ich arbeite für das Layout, das ich erreichen wollte.
Ich hoffe, es hilft.
quelle
Hier ist eine Lösung, die eine beliebige Anzahl von Unteransichten vertikal zentriert, auch wenn sie eindeutige Größen haben. Was Sie tun möchten, ist, einen Container auf mittlerer Ebene zu erstellen, diesen in der Übersicht zu zentrieren, dann alle Unteransichten in den Container einzufügen und sie in Bezug zueinander anzuordnen. Entscheidend ist aber auch, dass Sie sie nach oben und unten beschränken Unterseite des Containers beschränken müssen, damit der Container in der Übersicht richtig dimensioniert und zentriert werden kann. Durch Ermitteln der richtigen Höhe aus den Unteransichten kann der Container vertikal zentriert werden.
In diesem Beispiel
self
ist dies die Übersicht, in der Sie alle Unteransichten zentrieren.quelle
Ich habe mein Problem gerade mit der Multiplikatorfunktion gelöst. Ich bin nicht sicher, ob es in allen Fällen funktioniert, aber für mich hat es perfekt funktioniert. Ich bin auf Xcode 6.3 FYI.
Am Ende habe ich Folgendes getan:
1) Zuerst wurden meine Schaltflächen auf einem Bildschirm mit einer Breite von 320 Pixel so positioniert, wie ich es auf einem Gerät mit 320 Pixel sehen wollte.
2) Dann habe ich eine führende Space-Einschränkung hinzugefügt, um alle meine Schaltflächen zu überwachen.
3) Dann habe ich die Eigenschaften des führenden Bereichs so geändert, dass die Konstante 0 war und der Multiplikator der x-Versatz geteilt durch die Breite des Bildschirms ist (z. B. war meine erste Schaltfläche 8 Pixel vom linken Rand entfernt, also habe ich meinen Multiplikator auf 8/320 gesetzt).
4) Dann ist der wichtige Schritt hier, das zweite Element in der Einschränkungsrelation so zu ändern, dass es das Superview.Trailing anstelle von Superview.Leading ist. Dies ist wichtig, da Superview.Leading 0 und Trailing in meinem Fall 320 ist. 8/320 ist also 8 px auf einem 320px-Gerät. Wenn sich die Breite der Superview auf 640 oder was auch immer ändert, bewegen sich alle Ansichten in einem Verhältnis zur Breite der 320px Bildschirmgröße. Die Mathematik hier ist viel einfacher zu verstehen.
quelle
Viele Antworten sind nicht richtig, aber es gibt viele Zählungen. Hier schreibe ich nur programmgesteuert eine Lösung. Die drei Ansichten sind horizontal ausgerichtet, ohne Abstandsansichten zu verwenden. Dies funktioniert jedoch nur, wenn die Breite der Beschriftungen bekannt ist, wenn sie im Storyboard verwendet werden .
quelle
Hier ist noch eine andere Antwort. Ich beantwortete eine ähnliche Frage und sah einen Link, der auf diese Frage verwies. Ich habe keine ähnliche Antwort wie meine gesehen. Also dachte ich daran, es hier zu schreiben.
Auch dies kann mit iOS9 UIStackViews ganz einfach durchgeführt werden.
Beachten Sie, dass es genau der gleiche Ansatz wie oben ist. Es werden vier Containeransichten hinzugefügt, die gleichmäßig gefüllt sind, und jeder Stapelansicht, die in der Mitte ausgerichtet ist, wird eine Ansicht hinzugefügt. Diese Version von UIStackView reduziert jedoch den Code und sieht gut aus.
quelle
Ein anderer Ansatz könnte darin bestehen, dass die oberen und unteren Beschriftungen Einschränkungen in Bezug auf die Ansicht oben bzw. unten und die mittlere Ansicht Einschränkungen in Bezug auf die obere und untere Ansicht in Bezug auf die erste bzw. dritte Ansicht aufweisen.
Beachten Sie, dass Sie mehr Kontrolle über Einschränkungen haben, als es den Anschein hat, als würden Sie Ansichten nahe beieinander ziehen, bis gestrichelte Linien angezeigt werden. Diese zeigen Einschränkungen zwischen den beiden Objekten an, die anstelle zwischen dem Objekt und der Übersicht erstellt werden.
In diesem Fall möchten Sie dann die Einschränkungen so ändern, dass sie größer als oder gleich dem gewünschten Wert sind, anstatt "gleich", damit sie die Größe ändern können. Ich bin mir nicht sicher, ob dies genau das tut, was Sie wollen.
quelle
Sehr einfache Möglichkeit, dies in InterfaceBuilder zu lösen:
Setzen Sie die zentrierte Beschriftung (label2) auf "Horizontale Mitte im Container" und "Vertikale Mitte im Container".
Wählen Sie die zentrierte Beschriftung und die obere Beschriftung (Beschriftung1 + Beschriftung2) aus und fügen Sie ZWEI Einschränkungen für den vertikalen Abstand hinzu. Eins mit größer als oder gleich dem Mindestabstand. Eins mit weniger als oder gleich dem maximalen Abstand.
Gleiches gilt für das zentrierte Etikett und das untere Etikett (Etikett2 + Etikett3).
Darüber hinaus können Sie label1 zwei Einschränkungen hinzufügen - den oberen Bereich für SuperView und zwei Einschränkungen für label2 - den unteren Bereich für SuperView.
Das Ergebnis ist, dass alle 4 Abstände ihre Größe gleichermaßen ändern.
quelle
Ich habe eine Funktion erstellt, die helfen könnte. Dieses Anwendungsbeispiel:
wird diese vertikale Verteilung verursachen (leider haben Sie nicht die 10 Reputation, um Bilder einzubetten). Und wenn Sie die Achse und einige Randwerte ändern:
Sie erhalten diese horizontale Verteilung .
Ich bin Neuling in iOS, aber voilà!
EvenDistribution.h
EvenDistribution.m
quelle
Ja, Sie können dies ausschließlich im Interface Builder und ohne Code schreiben. Die einzige Einschränkung besteht darin, dass Sie die Größe des Etiketts ändern, anstatt Leerzeichen zu verteilen. Richten Sie in diesem Fall das X und Y von Label 2 so an der Übersicht aus, dass es in der Mitte fixiert ist. Setzen Sie dann den vertikalen Raum von Etikett 1 auf die Übersicht und auf Etikett 2 auf den Standard. Wiederholen Sie diesen Vorgang für Etikett 3. Nachdem Sie Etikett 2 eingestellt haben, können Sie Etiketten 1 und 3 am einfachsten ändern, indem Sie die Größe ändern, bis sie einrasten.
Hier ist die horizontale Anzeige. Beachten Sie, dass der vertikale Abstand zwischen Etikett 1 und 2 auf Standard eingestellt ist:
Und hier ist die Porträtversion:
Mir ist klar, dass sie aufgrund des Unterschieds zwischen dem Standardabstand zwischen Beschriftungen und dem Standardabstand zur Übersicht nicht zu 100% gleichmäßig zwischen den Basislinien verteilt sind. Wenn Sie das stört, setzen Sie die Größe auf 0 anstelle von Standard
quelle
Ich habe einen Breitenwert nur für das erste Element (> = eine Breite) und einen Mindestabstand zwischen jedem Element (> = eine Entfernung) festgelegt. Dann benutze ich Strg, um das zweite, dritte ... Element auf das erste zu ziehen, um Abhängigkeiten zwischen den Elementen zu verketten.
quelle
Spät zur Party, aber ich habe eine funktionierende Lösung, um ein Menü horizontal mit Abstand zu erstellen.
==
Dies kann problemlos mit NSLayoutConstraint durchgeführt werdenquelle
Android hat eine Methode zum Verketten von Ansichten in seinem auf Einschränkungen basierenden Layoutsystem, das ich nachahmen wollte. Suchen haben mich hierher gebracht, aber keine der Antworten hat ganz funktioniert. Ich wollte StackViews nicht verwenden, weil sie mir auf der ganzen Linie mehr Kummer bereiten, als sie im Voraus sparen. Am Ende habe ich eine Lösung erstellt, die UILayoutGuides verwendet, die zwischen den Ansichten platziert sind. Das Steuern ihrer Breite ermöglicht verschiedene Arten von Distributionen und Kettenstilen im Android-Sprachgebrauch. Die Funktion akzeptiert einen führenden und einen nachfolgenden Anker anstelle einer übergeordneten Ansicht. Auf diese Weise kann die Kette zwischen zwei beliebigen Ansichten platziert und nicht innerhalb der übergeordneten Ansicht verteilt werden. Es wird verwendet,
UILayoutGuide
was nur in iOS 9+ verfügbar ist, aber das sollte kein Problem mehr sein.quelle
Ich wollte 5 Bilder horizontal ausrichten, also folgte ich Metes Antwort mit einem kleinen Unterschied.
Das erste Bild wird horizontal in einem Container mit 0 und einem Multiplikator von 1: 5 zentriert:
Das zweite Bild wird horizontal in einem Container mit 0 und einem Multiplikator von 3: 5 zentriert:
Und so für den Rest der Bilder. Zum Beispiel wird das fünfte (und letzte) Bild horizontal in einem Container zentriert, der gleich 0 und einem Multiplikator von 9: 5 ist:
Wie Mete erklärte, lautet die Reihenfolge 1, 3, 5, 7, 9 usw. Die Positionen folgen der gleichen Logik: Die erste Position ist 1, dann das Leerzeichen, dann die nächste Position 3 und so weiter.
quelle
Warum erstellen Sie nicht einfach eine Tabellenansicht und machen
isScrollEnabled = false
quelle