2017-02-14 2 views
0

Ich arbeite an einem Projekt, wo eine der Anforderungen ist, dass das Firmenlogo in 10% Entfernung von der oberen Bildschirmgröße des iPhones erscheinen muss (wenn es ein iPhone 5 ist, 568 Höhe, sollte es 57 sein) . Ich kann eine Einschränkung anwenden, aber soweit ich weiß, ist es ein fester Wert und nicht relativ. Ich habe die "Vary for Traits" -Funktion von Xcode überprüft, aber da alle Größen, die ich brauche, wC hr sind, funktioniert es in diesem Fall nicht. Eine andere Lösung wäre, verschiedene Spritzer je nach iPhone-Modell zu verwenden, aber ich bin mir nicht sicher, ob es möglich ist.Wie setzt man abhängig von der iPhone-Größe unterschiedliche Einschränkungen in einem Splash?

Irgendwelche Ideen dazu? Danke!

+0

Verwenden Sie eine Seitenverhältnisbeschränkung. Könntest Du das erläutern; Soll die Logobreite 10% der Bildschirmbreite betragen oder sollte der Abstand links vom Logo 10% der Bildschirmbreite betragen? – Paulw11

+0

Es ist eine vertikale Raumbeschränkung, ich denke, ich kann nur fixe Werte darauf anwenden. Gibt es eine Möglichkeit, es relativ zu machen? – Sylphos

+0

Der Trick besteht darin, einen Platzhalter transparent neben dem Logo zu platzieren und die Höhe dieser Ansicht auf 1/10 der Höhe des Bildschirms zu beschränken und die obere Kante des Logos auf die untere Kante des Platzhalters zu beschränken. – Paulw11

Antwort

1

Sie können eine Platzhalteransicht verwenden, um den vertikalen Platz zu erstellen, den Sie benötigen.

ein UIView über dem Logo hinzufügen:

enter image description here

Constrain die Spitze dieser Ansicht an die Spitze der Wurzel Ansicht Constrain die Unterseite dieser Ansicht an die Spitze des Logos die Höhe Constrain diese Ansicht können von der Höhe der Stammansicht

enter image description here

+0

Ich versuchte herauszufinden, wie man das macht, hahaha, danke, dass es funktioniert hat !!!!! – Sylphos

0

Sie leicht auf 1/10 Achi Eve das auch im Code.

logoImageView.translatesAutoresizingMaskIntoConstraints = false 

// This will keep your imageView 10% from the top 
NSLayoutConstraint(item: logoImageView, attribute: .top, relatedBy: .equal, toItem: self.view, attribute: .topMargin, multiplier: 1.0, constant: self.view.frame.size.height/10).isActive = true 

// Additional You will want your imageView to be centered. 
NSLayoutConstraint(item: logoImageView, attribute: .centerX, relatedBy: .equal, toItem: self.view, attribute: .centerX, multiplier: 1.0, constant: 0).isActive = true 
+0

Da es im Splash ist, kann ich nicht codieren. Das war das Hauptproblem – Sylphos

Verwandte Themen