2016-12-29 5 views
0

私はautolayoutを私のプロジェクトに使用しており、私が立ち往生した状況が1つあります。私はすでにXIBのカスタムをTableviewCellとしましたが、私はTableviewのデフォルトプロトタイプセルでやりたいと思います。私のデザインは、私がボタンにconstraintトップを選択して、プロトタイプcellTableviewNSLayoutConstraintにそれに識別子を付けてtableviewcellにアクセスする方法は?

constraint

以下のような識別子を与える

私の設計では今

design

を下回るようなもので、私はそれの出口を与える傾けます。では、どうすればそのIDにNSLayoutConstraintをアクセスできますか?ウェブで検索しますが、何も見つかりませんでした。

私を助けてください。
ありがとうございます

+0

を、あなたのテーブルビューのカスタムセルクラスを持っていますか? –

+0

カスタムセルがない、デフォルトのテーブルビューのプロトタイプセル –

+0

NSLayoutConstraintを更新するか、その値を@実行時に変更しますか? –

答えて

1

希望します。また、述語を使用して

NSArray *constraints = [myView constraints]; // Here myView is a reference to the required UI component 
    int count = [constraints count]; 
    int index = 0; 
    BOOL found = NO; 

    while (!found && index < count) { 
     NSLayoutConstraint *constraint = constraints[index]; 
     if ([constraint.identifier isEqualToString:@"topconstraint"]) { 
      //save the reference to constraint 
      constraint.constant = yourValue; 
      found = YES; 
     } 
     index++; 
    } 

、1は除外することができます。

constraints.filter{ $0.identifier == "MyIdentifierText" }.first { }

+0

また迅速に共有してください。私はそれを試してみましょう –

+0

私はtableviewCellにループを作る場合、私の応答tablviewは遅く、私はそのようにしたくないです。そして、tableviewcellには制約が多すぎますし、すべての制約をチェックしますので、それを見つけるのに時間がかかると思います。 –

+0

@Jecky述語も使用できます。 – Mrunal

関連する問題