2016-07-25 17 views
1

我想知道如果你添加一個約束到一個視圖,並沒有保留約束指針,你怎麼能在視圖中查找特定約束?你有什麼建議在UIView中查找特定約束?

我試過這個視圖動畫。我想我可以遍歷視圖中的所有約束,並找到列表中的特定約束。 但事實並非如此。有這麼多的限制。

我覺得找到一個幾乎是不可能的,除非我有指向這個約束的指針,這樣我可以讓它們匹配。

所以,我想知道這是否是找到約束的最佳方法。

而且,這是另一個問題。 以前我直接訪問變換值來改變動畫的幀矩形。但是,'有'約束我不能直接訪問框架矩陣,而是通過給出適當的約束來改變它。有沒有辦法使用帶約束的變換值?

+0

您可以設置約束的標識符來標識它。 –

+0

非常感謝!這就是我一直在尋找的。 – pearl7721

回答

4

設置的標識使用標識約束

myConstraint.identifier = "<MyIdentifierText>"; 

獲取約束:

NSArray *constraints = [myView constraints]; 

for (int index = 0; index < [constraints count]; index ++) 
{ 
    NSLayoutConstraint *constraint = constraints[index]; 
    if ([constraint.identifier isEqualToString:@"<MyIdentifierText>"]) { 

     // save the reference to constraint 
     // or do the necessary operations 
     break; 
    } 
    index++; 
} 

希望這有助於。