iOS-Einschränkungen am Netz, der die Gleiche Breite/Höhe-Tasten verursachen die Positionierung und die Größe zu variieren
Ich aktualisiere mein Rechner-app zu nutzen, neue dynamisch dimensionierte Tasten und ein problem mit den Beschränkungen. Die enthält, sollte funktionieren soweit ich das beurteilen kann, aber Xcode beschwert sich über unangebrachte Ansichten. Die Werte gibt es für fehl am Platze Ansichten sind nicht richtig, und wenn ich versuchen, Sie zu beheben, dann ist es nur bewirkt, dass weitere Ansichten, die "fehl am Platz."
In der Abbildung unten, der erste multi-farbige Zeile ist (orange, grün, pink, gelb, rot) ist eine Reihe von UILabels. Sie sollten alle den gleichen breiten mit 0-Abstand zwischen Ihnen und den Rändern des Bildschirms. Sie sind in einem container anzeigen (Xcode label ist "Register Label-Ansicht" angezeigt, wie im screenshot unten.) Das Register Label-View-container eine Feste Höhe Zwang.
Dann unten, dass ist ein anderes container-Ansicht ("Tastatur Anzeigen") und innen, ist eine 5x8 raster von Ansichten (die Tasten auf meinem Rechner). Die Tasten haben alle die gleiche Breite und alle haben die gleiche Höhe. In meinem storyboard, Sie sind 64x58 die passt perfekt in meine 320x464 Tastatur-Ansicht. (320/5 = 64, und 464/8=58).
Unten ist ein screenshot von der Storyboard-Warnungen. Beachten Sie die letzten beiden Elemente sind Dynamische Tasten (in der Tastatur-Ansicht), und es sagt, dass einer von Ihnen wird erwartet, dass 63 breit, und der andere wird voraussichtlich 65 breit. Das ist nicht korrekt. Sie sind alle sein soll 64 breit und Sie alle haben eine Gleiche Breiten-Einschränkung.
Eines der labels scheint auch das gleiche problem haben, wo Xcode erwartet, dass einer von Ihnen zu sein, 63 breit, aber Sie sollten alle 64 breit.
Sehen Sie in der Storyboard -, dass die Tasten alle line-up schön ohne überlappung (basierend auf Ihren Bildern), aber wenn ich es im Simulator können Sie sehen, wie Sie sich gegenseitig überlappen, indem Sie ein pixel in verschiedene Richtungen auf jeder Zeile:
Die Art und Weise ich die Einschränkungen: ich hatte Sie alle mit Ihrer frame (x,y,w,h) in das storyboard, dann wählte ich Sie alle, und fügte hinzu, Zwänge wie diese:
Aber dann sofort beschwert sich, dass einige der Elemente sind fehl am Platz. Was mache ich falsch? Wie kann ich diese richtig funktionieren?
Um sicherzustellen, dass die Einschränkungen richtig sind, müssen Sie versuchen, eine Ansicht durch eine Ansicht und von oben nach unten. Die XCode immer Beschwerden, wenn ich bin gierig. Wenn ich vor dem problem, wie bei dir, ich immer klar, alle Einschränkungen und erneut starten.
BTW, ich sehe, was aussieht wie ein rückwärts übergang in das storyboard; wenn das ist, was es ist (die Linie, die von der rechten Schleife in der linken Seite von Ihrem Rechner anzeigen), das ist nicht eine gute Sache.
Ich glaube, dass ist ein experiment mit einem "schließen" segue. Siehe hier: jeffreysambells.com/2014/02/19/...
InformationsquelleAutor Kenny Wyland | 2014-09-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, ich habe herausgefunden, wie es funktioniert nur mit Einschränkungen. Es waren einfach zu viele Abhängigkeiten miteinander verbunden, und das system konnte nicht damit umgehen. Ich war die Auswahl das gesamte Netz der Schaltflächen hinzufügen und Gleiche Höhen und Gleiche Breiten-Einschränkungen für alle von Ihnen, was bedeutete, jeder Knopf wurde angewiesen, auf jede andere Taste.
Statt, ich habe es Zeile für Zeile. Ich wählte eine Zeile:
Habe ich das Gleiche Höhen und Gleiche Breiten-Einschränkungen auf jedes Element in dieser Zeile. Dann habe ich die gleiche Zeile 2, dann Zeile 3, etc. Also, jede Zeile war nur abhängig von sich selbst. Doch diese Einschränkungen waren nicht genug, um das UI komplett, denn die Höhe war noch nicht definiert.
So, dann wählte ich die erste Spalte (d.h. der erste Eintrag in jeder Zeile) und auf Gleiche Breite und Gleiche Höhen-Einschränkungen, auf diese Elemente. Dann alle Einschränkungen ordnungsgemäß war und ich nicht erhalten haben, keine Verstellten Blick auf Warnungen.
Ich glaube, das hat funktioniert, weil die Einschränkungen für die Spalten lösen könnte die Höhe jeder Zeile und dann Zeile lösen könnte, es ist ein eigenes Breiten die zimmerreserviereung, ohne das eine Interaktion mit einer anderen Zeile.
InformationsquelleAutor Kenny Wyland
Kleinen Menge an code, die unten (und-Einstellung die Größe der Zellen und minimalen Abstände in der storyboard) geben Sie Ihre Tastatur mit einem collection view.
Das gibt das folgende Ergebnis,
sicher, Sie hätte zu berücksichtigen, für die Breite der Ansicht, wenn Sie die Unterstützung mehrerer Breite Bildschirme. Das könnte leicht getan werden, durch die Einstellung der Größe des Elements im code Breite/5. Ich habe laufen in die gleichen Probleme, die Sie haben, wenn Sie versuchen, die Beschränkungen auf viele Ansichten, so würde ich nicht sagen, dass Sie "ideal" für diesen bestimmten Zweck.
Ich habe herausgefunden, einen Weg, um es zu arbeiten, ohne die Warnungen. Es sieht aus wie es war einfach zu vielen miteinander verbundenen Einschränkungen, so habe ich diese Art in zwei Phasen.
InformationsquelleAutor rdelmar