2016-04-04 16 views
0

Ich habe eine UIView, die einige Etiketten in der Prototyp-Zelle enthält. Ich möchte die Ansicht leicht nach oben verschieben, um die "Y" -Position der Ansicht zu ändern. Wie kann ich es tun ? Jede Hilfe wird dankbar sein.Move UIView programmatisch in iOS Swift

Ich habe bereits den folgenden Code ausprobiert, aber es funktioniert nicht.

if (self.data[indexPath.row].valueForKey("TableType") as! Int) != 3{ 

cell.MoverView.frame = CGRectMake(6.0, 65.0, self.view.frame.width, 178)} 
+1

Ihr Code ist irgendwie komisch. Zunächst sollten Instanzen mit einem Kleinbuchstaben beginnen. Zweitens ist jedes '!' Ein möglicher Absturz. Drittens ist 'valueForKey' etwas alt. Meiner Meinung nach gibt es bessere Möglichkeiten, Werte zu erhalten. Viertens sollten String-Literale nur zum Definieren von Konstanten verwendet werden. – dasdom

+0

Ich bin neu in der iOS-App-Entwicklung, aber danke für die Information. –

Antwort

1

Erstellen Sie ein IBOutlet in Ihrem View-Controller, um einen Verweis auf Ihre "Center Y Alignment-Einschränkung" zu speichern. Stelle sicher, dass du es in deinem Storyboard verbindest.

Sie können die Constant-Eigenschaft der Abhängigkeit so einstellen, dass sie von der Y-Position versetzt wird (positive Zahl wird sie nach unten verschieben, negative verschiebt sie nach oben).

@IBOutlet var yConstraint: NSLayoutConstraint 
    yConstraint.constant = -200 

Dies würde Ihre Sicht 200 Punkte nach oben verschieben.

Das ist es. Jetzt können Sie es mit Hilfe von Constraints ändern.