スプリングと構造体レイアウトから自動レイアウトに移行し始め、「組み込みサイズ」の設定に関するいくつかの質問があります。本来のサイズとシステムの幅/高さの制約の違いは何ですか?
一部のビューの「組み込みサイズ」を「プレースホルダ」に設定して幅と高さの値を設定すると、ビューは縮尺されず固定サイズのままになります。しかし、 "Intrinsic Size"を "Default(System defined)"に設定すると、システムは実行時に必要に応じてビューを決定し、スケーリングします。
ただし、Ctrl +ドラッグを使用すると、ビューに幅と高さのシステム制約を明示的に設定できます。そのような場合、システムの幅と高さの制約とconstプレースホルダの値があります。私は既存のコードを見直しています。それはバグであり、冗長なシステム幅と高さの制約を取り除かなければならないか、あるいは他の隠れたロジックがあることを理解しようとしています。しかし、Xcodeは実行時にコンソールに警告などを表示しません。ここでは、デモプロジェクトの印刷画面です:
Hmm、 "Placeholder"をカスタムの幅と高さに設定しても、UILabelの内容(「コンテンツに依存します」)は変化しません。 – Centurion
幅と高さの制約を追加すると、ラベルの縮尺は変更されません。 –
新しいプロジェクトを作成し、大きなフレームのラベルを追加しました。次に、「プレースホルダ」を設定し、幅と高さのチェックボックスで「なし」を選択しました。何も起こらず、ラベルの内容に合わせてラベルのサイズが変更されませんでした。私は何の制約も設定しなかった。 – Centurion