2

これら 2 つの方法に関するApple のドキュメントを読みましたが、まだよくわかりません。

違いは何ですか。また、どちらかを使用するのはなぜsetNeedsUpdateConstraintsですかupdateConstraintsIfNeeded?

4

1 に答える 1

5

次のレイアウト パスで制約を再計算する必要があることをシステムに示唆しているため、このsetNeedsUpdateConstraintsメソッドを呼び出しても実際には何も起こりません。フラグを設定しているだけだとしましょう。

を呼び出すとupdateConstraintsIfNeeded、その実行の特定の瞬間に制約を再計算するように実際にシステムに要求します。この呼び出しの後、制約は新しく更新された値を保持します (ただし、UI が既に更新されているとは限りません!)。これは、各レイアウト パスでシステムが自動的に呼び出すメソッドであり、制約の再計算をトリガーします。

于 2013-10-17T13:22:41.840 に答える