1. ホーム
  2. cocoa

[解決済み] Cocoa Autolayout: コンテンツの抱擁 vs コンテンツの圧縮抵抗の優先順位

2022-03-15 23:34:41

質問

Cocoa Autolayoutに関するAppleのドキュメントで、コンテンツハギングと圧縮抵抗の違いについて明確な回答が見つかりません。

どなたか、その使い方と違いを教えてください。

解決方法は?

コンセプトの簡単なまとめです。

  • 抱き合わせ =>コンテンツが成長することを望んでいない
  • 耐圧縮性 =>コンテンツが縮みにくい

このようなボタンがあったとします。

[       Click Me      ]

で、エッジを優先度500の大きなスーパービューに固定しましたね。

そして、Hugging priority > 500とすると、次のようになります。

[Click Me]

Huggingの優先度 < 500の場合、以下のように表示されます。

[       Click Me      ]

今スーパービューが縮小した場合、圧縮抵抗の優先度を > 500 とすると、以下のようになります。

[Click Me]

その他、Compression Resistance priority < 500の場合、以下のようになります。

[Cli..]

もしこのように動作しないのであれば、おそらく他の制約がかかっていて、せっかくの作業が台無しになっているのでしょう。

例えば、優先度1000でスーパービューに固定させることができます。 あるいは、幅の優先度を設定することもできます。もしそうなら、これは役に立つかもしれません。

エディター > コンテンツに合わせたサイズ