2015-10-06 10 views
44

私は、iOS用スウィフトに制約に働いている、と命名規則/ドキュメントのほとんどは、物事はかなり自明を作るが、最近私を混同している一つのことはNSLayoutXAxisAnchorクラスの2組です:leftAnchorとleadingAnchorの違いは?

leadingAnchor, leftAnchor 

私は私のiOSアプリでプログラム制約を設定している場合は

trailingAnchor, rightAnchor 

と一緒に、私は完全に同義的にこれらを使用することができることを見出しました。 leadingAnchorを使用する場合は、アプリケーションを実行してその動作を観察し、leftAnchorを使用してアプリケーションを実行し、ビヘイビアを観察すると、まったく同じように機能します。

私はdeveloper.apple.comからドキュメントをチェックアウトしました。結果はまったく同じです(名前の違いは無視されます)。あなたが唯一の NSLayoutXAxisAnchorアンカーのサブセットで、このアンカーを組み合わせることができます

「ビューの立ち上がりに制約を作成するには、このアンカーを使用してくださいあなたは でleadingAnchorを組み合わせることができます。leadingAnchorとleftAnchorを比較例。別のleadingAnchor、trailingAnchor、またはcenterXAnchor。 の詳細については、「NSLayoutAnchorクラスリファレンス」を参照してください。あなた のみNSLayoutXAxisAnchor アンカーのサブセットで、このアンカーを組み合わせることができ、ビューの左端との制約を作成するには、このアンカーを使用する」

あなたがしてleftAnchorを組み合わせることができます

は、と比較します。別のleftAnchor、 、rightAnchor、またはcenterXAnchor。詳細については、 NSLayoutAnchorクラスリファレンスを参照してください。

これらのプロパティの間に意図された相違があるかどうかは知っていますか?

答えて

102

これは、AutolayoutのミステリーのWWDC 2015ビデオの1つ(これはパート1だったと思うが、どちらも見ておく価値がある)の1つでカバーされた。

左および右の拘束は絶対的なもので、常に画面またはコントロールの左右を参照します。先頭および末尾の制約は、デバイスロケールの影響を受けます。読書方向が左から右(英語、フランス語、スペイン語など)であるロケールでは、&(および後ろには&右)が同じ意味で使用できます。読取り方向が右から左(例えばヘブライ語)であるロケールでは、「先導する」が右側になり、「後ろ」が左側になります。

ビデオでのアドバイスは、あなたがほとんど常に末尾ではなく、あなたは右/左、絶対のための特定の要件を持っている右のない限り/左/有数使用する必要がありました。

は、ラベルとテキストフィールドの典型的な「形」を考えてみましょう。先行/後続の制約を使用する場合は、左にラ​​ベル、右にテキストフィールド、英字のロケール、右のラベル、ヘブライ語のロケールの左のテキストフィールドが表示されます。

あなたは子供のアプリを作った場合は、右、あなたから左ティーチングた常には、画面の左側に「左」ボタンを望んでいた右/左の制約が適切な

+3

優秀な情報になり、ありがとうございました返信のために。私はビデオを見たいと思って、私はこれを自分自身で知っていただろう!私はこれを受け入れられた答えとしてマークします。再度、感謝します –

関連する問題