2016-07-25 4 views
1

ビューに制約を追加し、制約ポインタを保持していないのではないかと思いますが、後でその特定の制約をどのように見つけることができますか?UIViewで特定の制約を見つけるにはどうすればよいですか?

私はこれをビューアニメーションに使用しました。ビュー内のすべての制約を繰り返して、リスト内の特定の制約を見つけることができると思いました。 しかし、そうではありませんでした。非常に多くの制約があります。

私は、その制約のためのポインタを持たない限り、それらを一致させることはできないという印象を受けました。

だから、そういうことが制約を見つける最良の方法かどうかを知りたいと思います。

また、別の質問があります。 以前は、トランスフォーム値に直接アクセスして、アニメーションのフレーム矩形を変更しました。しかし、 'with'という制約はフレームrectに直接アクセスすることはできず、適切な制約を与えて変更しました。制約に変換値を使用する方法はありますか?制約に識別子

myConstraint.identifier = "<MyIdentifierText>"; 

設定し

+0

制約を識別するための識別子を設定することができます。 –

+0

ありがとう!それが私が探していたものです。 – pearl7721

答えて

4

は、識別子を使用して制約を取得します。

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++; 
} 

・ホープ、このことができます。

関連する問題