2016-04-21 82 views
1

如果我使用NSLayoutConstraint,我會首先初始化約束,讓說:NSLayoutAnchor和約束標識

let myConstraint = NSLayoutConstraint(...) 

然後我想補充這樣的標識:

myConstraint.identifier = "myIdentifier" 

那我就激活:

myConstraint.active = true 

是否有一種方法可以將標識符添加到由您創建的約束唱NSLayoutAnchor課?我查了文檔,但是我沒有找到任何東西。

回答

2

是的,你可以。蘋果文檔說:

NSLayoutAnchor類是一個工廠類,用於使用流暢的API創建NSLayoutConstraint對象。使用這些約束可以使用自動佈局以編程方式定義佈局。

因此NSLayoutAnchor只是一個爲您創建約束的類,這個類的實例不受約束。 舉例:

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

但是,正如我所看到的,我無法分配標識符並在一行中激活約束。我必須將它分配給一個常量(或變量),然後激活它,如果我要添加一個標識符。 – TheoK

+1

當你使用'NSLayoutConstraint'時,情況仍然如此。 – Jelly