2015-01-07 13 views
7

Der Bildschirm des iPhone 6S Plus ist im Vergleich zu anderen Bildschirmgrößen sehr groß. Ich kann keinen guten Weg finden, die Schriftgröße eines Etiketts zu handhaben, ohne die Größe programmatisch anzupassen.Wie gehe ich mit der Schriftgröße des iPhone 6S Plus um?

Wie kann ich die Schriftgröße eines Etiketts so anpassen, dass es auf einem iPhone 5 kleiner und auf einem iPhone 6 Plus kleiner aussieht?

+0

Was bedeutet "Kontrolle seiner Größenklasse"? Mit Xcode können Sie Constraints erstellen, die abhängig von der Größenklasse bedingt sind. Welches Problem bleibt bestehen? Auch, was bedeutet "die Etiketten scheinen vermasselt"? _Meine Etiketten sind auf einem iPhone 6 Plus nicht "durcheinander", also solltest du dich nicht selbst fragen, warum deine sind? – matt

+0

Vielen Dank für die Beantwortung meiner Frage Matt. Das Problem ist, dass die Größenklassen, die Sie verwenden, um die Größe des anderen iPhones zu steuern, nicht genau genug sind. Wenn ich zum Beispiel eine Beschriftung oben auf dem UIViewController anbringe, sieht das gleiche Etikett auf einem 4-Zoll-iPhone gut aus, aber nicht auf einem iPhone Plus, und es muss etwas verkleinert werden. Das Schlimme daran ist, dass ich die Größe nicht ändern kann, weil das iPhone 6 Plus keine eigene Größenklasse hat, daher muss ich die Einschränkungen anderer iPhones beachten. – Cesare

+2

Erfahren Sie, wie das automatische Layout funktioniert. – Fogmeister

Antwort

5

nicht ändern Schriftgrößen für das iPhone 6 oder iPhone 6+.

Leute kaufen diese Telefone, um mehr Inhalt zu sehen. Das 6+ zeigt Dinge etwas größer als die anderen Telefone (ja, es hat größere Pixel, nicht nur mehr Pixel), und wenn ein Benutzer eine noch größere Anzeige möchte, können sie das ganze Telefon in Zoom-Modus (6 + und 6) schalten Dies verwandelt eine 6+ in eine große 6 und eine 6 in eine große 5).

Verwenden Sie einfach Auto-Layout, um Dinge relativ zur Bildschirmgröße zu positionieren.

+2

_ "Leute kaufen diese Telefone, um mehr Inhalt zu sehen." _ Solche Aussage ist nicht omnipotent wahr. – holex

1

Sie können das iPhone 6 Plus nicht mithilfe von AutoLayout anvisieren, da es nicht für Hardcoding-Größen gedacht ist. Sie müssen entweder Code verwenden und etwas zu tun, wie folgt aus:

if UIScreen.mainScreen().bounds.size.width == 375 { 
    // iPhone 6 
    label.font = label.font.fontWithSize(20) 
} 

oder just create a invisible view and set top and bottom constraints to it.

+0

Dies funktioniert nicht im Querformat. Und es bricht, wenn der Benutzer selbst eine große Schrift wählt. Und natürlich wird es brechen, wenn das iPhone 7 380 Pixel breit ist. – gnasher729

1

Ich denke, es ist besser, adaptive Schriftarten zu verwenden (here ist ein Beispiel, Abschnitt Adaptive Fonts)