Ich versuche, einen Bildschirm wie folgt zu entwerfen. Ich kann dieses Design für mehrere Geräte wie IPhone 5 und 5S machen. Dies bedeutet, dass meine Anwendung ordnungsgemäß auf IPhone 5 und 5S ausgeführt wird. Aber wenn ich versuche, es auf IPhone 6 oder 6S zu laufen, ist mein Entwurf gebrochen und gestört. Wie kann ich ein gemeinsames Design für alle Geräte erstellen?Anpassung an alle Geräte mit automatischem Layout
Antwort
Hier ist eine Funktion, die ein CGPoint aus der Mitte versetzt gibt, für einen bestimmten Index
func offset(forIndex index: Int) -> CGPoint {
let part = M_PI/11.0
let phi = part * Double(index)
let x = Double(UIScreen.mainScreen().bounds.width) * sin(phi)
let y = Double(UIScreen.mainScreen().bounds.height) * cos(phi)
print("----")
print("index \(index)")
print("x \(x)")
print("y \(y)")
return CGPoint(x: CGFloat(x), y: CGFloat(y))
}
Mit dieser Funktion können Sie Ihre Taste entsprechend
Ich bevorzuge diese Strategie gegenüber Auto-Layout für etwas diese Gewohnheit. –
So positionieren, ist hier ein Muster, das ich vorher benutzt habe:
Die grauen Balken sind nur UIViews, die vergrößert und verkleinert werden, um alle Schaltflächen gleichmäßig auf einem anderen Bildschirm zu halten. In Ihrem tatsächlichen Design wären diese transparent. Jede dieser Ansichten hat eine Beschränkung, um sie auf die gleiche Höhe zu bringen - dies hält den Abstand zwischen den Schaltflächen gleich, unabhängig von der vertikalen Größe des Bildschirms. Die anderen Einschränkungen bestehen darin, dass die mittlere Schaltfläche vertikal zentriert ist und dass jede der Schaltflächen einen zunehmenden nachgestellten Abstand zur enthaltenden Ansicht aufweist. Jede Schaltfläche ist auch eingeschränkt, um 0 Punkte Abstand zur Ansicht oben und unten zu haben.
Wenn Sie dies auf einem kleinen Bildschirm ausführen, werden die Abstandhalter schrumpfen, und auf einem größeren Bildschirm werden sie wachsen. Auf größeren Bildschirmen sollten Sie auch größere Schaltflächen erhalten, wenn sie so eingestellt sind, dass sie die tatsächliche Größe verwenden.
Dies bewahrt nicht die Form der Ellipse, aber Sie könnten die x-Koordinate der Schaltfläche proportional zur Breite des Bildschirms machen, um das zu tun, denke ich. Hängt davon ab, was Ihre Ziele für das Gesamtbild sind.
- 1. Dynamische Sprechblase mit automatischem Layout
- 2. UIScrollView SetContentSize mit automatischem Layout
- 3. Scrollview mit automatischem Layout programmgesteuert
- 4. Kombinieren von automatischem Layout mit Kernanimation
- 5. iOS - Proportionaler Abstand mit automatischem Layout
- 6. UIScrollView als Unteransicht von UIView funktioniert nicht mit automatischem Layout
- 7. Entfernen und erneutes Hinzufügen einer Unteransicht mit automatischem Layout
- 8. Horizontale Bildlauf in UIScrollView mit automatischem Layout deaktivieren
- 9. Matching subview der Breite ist es Superview mit automatischem Layout
- 10. Dynamische UIView Höhe mit automatischem Layout in iOS 6
- 11. Autoresize titleView in einer Navigationsleiste mit automatischem Layout
- 12. Text Anpassung an Tastengröße
- 13. Anpassung der Registerkarte Layout Wischen Richtung
- 14. -Screen-Unterstützung mehrerer Geräte mit Layout-große, Layout-normal und Layout-xlarge Ordner
- 15. für alle Geräte
- 16. Responsive Design für alle Android-Geräte
- 17. multilanguage Skript Anpassung an Datenbankverbindung
- 18. Google Cloud Messaging sendet Benachrichtigungen an alle Geräte
- 19. Storyboards: Auto-Layout für verschiedene Geräte Bildschirme
- 20. Landschaft Layout für 1080 * 1920 Geräte
- 21. Java automatisch Anpassung an die Windows 7 Schriftgröße Anpassung
- 22. Gleichzeitige Anpassung an N Datensätze in Python
- 23. MPAndroid Anpassung an Bildschirmgröße ohne feste Höhe
- 24. UWP - Erstellen Sie ein schönes Layout mit XAML für alle Geräte
- 25. android - Problem mit automatischem Scrollen in TextView
- 26. Gleiches Layout für große und große Geräte
- 27. Webanwendung mit automatischem "Service" - welche Optionen?
- 28. Telephony.SECRET_CODE und alle Samsung-Geräte
- 29. iOS 7/8 UITableView Zelle: Zwei UILabels mit dynamischer Höhe mit automatischem Layout für variable Zeilenhöhe
- 30. Passen Sie Daten an alle möglichen Distributionen an und geben Sie die beste Anpassung zurück
Verwenden Sie das automatische Layout. – Moritz
Können Sie Ihren Code hier für uns veröffentlichen? – keithbhunter
Ich benutze bereits Autlayout, also habe ich keinen Code. – Alp