2016-04-08 6 views
1

Ich arbeite an einer Rechner-App, und alle meine Code funktioniert perfekt, aber das einzige, woran ich hängen auf ist das Layout. Auf allen Telefonen funktioniert das Layout perfekt, Einschränkungen scheinen perfekt zu sein! Außer dem iPhone 4 scheint es einfach nicht groß genug zu sein! Es ist ziemlich frustrierend, da es mein erstes richtiges Projekt ist, an dem ich gearbeitet habe, und es durch etwas wie diesen zu sehen, ist nervig, um es gelinde auszudrücken.Schwierigkeit in einem Rechner Layout in XCode in Swift

Die Schaltflächen sind 5 hoch und 4 breit, und alle von ihnen sind quadratisch, und dann habe ich eine 320 x 50 AdMob-Anzeige an der Spitze, mit dem Wert Label dazwischen. Auf der 5, 6 und 6 Plus gibt es viel Platz und alles sieht perfekt aus, aber wenn ich eine 4s simuliere, wird die Entfernung von der Anzeige zu den Tasten dramatisch reduziert, so dass die Wertelabel unsichtbar ist. Sie können sehen, was ich von diesen Screenshots meine.

Hier ist eine Arbeitsaufteilung:

enter image description here

Und hier ist die problematische 4s:

enter image description here

Hat jemand irgendwelche Ideen für eine Lösung?

+0

Ich würde sagen, es ist normal. iPhone 4 ist kürzer als 5 oder 6. (besonders das Verhältnis zwischen Höhe/Breite). Möglicherweise müssen Sie das Tastenlayout auf dem iPhone 4 ändern, damit es richtig aussieht. Glücklicherweise können Sie das direkt im IB tun. –

Antwort

0

Ich weiß nicht, welche Art von Einschränkungen Sie verwenden, aber wenn es für iPhone 5+ funktioniert, scheint es, als ob Sie das Richtige tun. : -/

Was ich in meiner apps tun, ist so etwas wie:

valueLabel.Top == ad.Bottom, so dass sie einander berühren immer und ich setzen nicht die Höhe oder Breite für beide Sie können also beliebig hoch sein. Anders als das .. Ich weiß es nicht.

1

Ich bin mir nicht sicher, wie Sie die Tasten einrichten, kann also keine konkrete Antwort geben.

Im Allgemeinen jedoch können Sie die kurzen Bildschirmabmessungen überwinden, indem sie entweder

(1) Erkennen von Kurz Bildschirm (dh window.height < 500) explizit und die notwendigen Höhenbeschränkungen ändern. Das sieht nach einem Hack aus, funktioniert aber oft wunderbar, da das iPhone 4/4S die einzige Ausnahme ist.

Oder

(2) Einstellen der Höhenbeschränkungen seiner Super proportional, sondern als eine festgelegte Anzahl. Dies kann zu sehr hohen Elementen auf großen Bildschirmen führen und kann mit weniger als gleichen Einschränkungen und Prioritäten gemildert werden.

Wenn ich die UI des Rechners machen würde, würde ich Constraints setzen, so dass die fünf Reihen von Knöpfen die gleiche Höhe von 1/5 ihrer Superansicht haben - durch Erstellen von 4 Gleichweitenbeschränkungen, 1 oberer Abstand und 1 Bodenabstandseinschränkung. Dann würde ich eine Steckdose für die Ansicht erstellen, die alle Tasten enthält, und entweder (1) oder (2) folgen.

+0

Ich habe im Grunde jede horizontale Reihe auf alle gleichen Breiten und Höhen eingestellt, und dann ist die ganze linke Spalte alle gleich breit/hoch (außer für die 0-Taste). Wie würde ich Einstellungen proportional zur Ansicht vornehmen?Hat das etwas mit der Option "Multiplikator" im Constraint zu tun? –

+0

@JacksonWright Ja, die Multiplikator-Option ist, was Sie brauchen. Format muss 0.x sein – noobsmcgoobs