2016-04-21 8 views
1

Wenn ich NSLayoutConstraint verwenden wäre, würde ich zuerst die Einschränkung initialisieren, können sagen:NSLayoutAnchor und Constraint-Kennung

let myConstraint = NSLayoutConstraint(...) 

Dann würde ich die Kennung wie das hinzufügen:

myConstraint.identifier = "myIdentifier" 

Dann würde ich aktivieren:

myConstraint.active = true 

Gibt es eine Möglichkeit, eine Einschränkung, die von u erstellt wurde, eine Kennung hinzufügen singen Sie die NSLayoutAnchor Klasse? Ich habe die Dokumentation überprüft, habe jedoch nichts gefunden.

Antwort

2

Ja, Sie können. Die Apple-Dokumentation lautet:

Die Klasse NSLayoutAnchor ist eine Factory-Klasse zum Erstellen von NSLayoutConstraint-Objekten mithilfe einer flüssigen API. Verwenden Sie diese Einschränkungen, um Ihr Layout mit Auto Layout programmatisch zu definieren.

Also NSLayoutAnchor ist nur eine Klasse, die Einschränkungen für Instanzen dieser Klasse erstellt keine Einschränkungen sind. Ein Beispiel:

subview.leadingAnchor.constraintEqualToAnchor(margins.leadingAnchor).identifier = "myIdentifier" 
+1

jedoch, wie ich sehe, kann ich nicht eine Kennung zuzuweisen und aktivieren die Einschränkung in einer Zeile. Ich muss es einer Konstante (oder Variable) zuweisen und es dann aktivieren, wenn ich einen Bezeichner hinzufügen würde. – TheoK

+1

Das ist immer noch wahr, wenn Sie 'NSLayoutConstraint' verwenden. – Jelly

Verwandte Themen