私が理解しているサイズ変更管理の唯一の種類は、古典的なスプリングとストラット、別名「アンカーと整列」、または「マスクの自動サイズ変更」のようなものです。ただし、XCode 4.6 では、iOS 6 で導入された制約を使用した「自動レイアウト」がデフォルトであり、方法を習得すると、特定の単純なことは難しくなりますが、新しい配置の全世界が可能になります。 (明確にするために言うと、一部のユーザーは、自動レイアウトの戦いと戦わずに単純なビューを機能させることだけを気にする場合があるため、Matt によって早期に Autolayout をオフにする回避策が提案されました。これを以下に再現します)
iOS 6 Layout Constraints、Interface Builder の編集制約システムがわかりません。
XCode Interface Builder が自動的に制約を作成する場所 (ビューの端など) では、私が理解しているように動作するようです。
私が理解していないのは、ここに示されている .xib で、ここでも入手可能であり、緑とマゼンタの領域が一定の境界線 (それらの間の白い領域) を維持することができない理由です。 、ビューのサイズに何が起こっても。
つまり、緑色の領域を垂直方向にサイズ変更せず、水平方向にのみサイズ変更する必要がありますが、フォームの下部に固定することを主張しており、新しい空白のペン先から再び開始しますが、インターフェースビルダーを復元するため、緑とマゼンタのビューが再び表示されます。インターフェイス ビルダーが「ばかげた」状態になると、親ビューの下端からの距離に関して緑のビューの下端のみを定義することを主張し、それ以外の場合は (いくらいじっても) 使用しません。単なるドラッグ アンド ドロップ操作。Pin コマンドも試してみましたが、機能する pin コマンドが見つかりませんでした。
制約の 1 つを手放すには、インターフェイス ビルダーのメニューやドラッグ アンド ドロップと格闘するだけでは十分ではないようです。私は自分が何をすべきか理解できません。制約を削除しますか? どのように?IB Objects ペインまたは Utilities -> Size インスペクタのいずれからも、私が見る限り、制約はまったく削除できません。削除オプションがありますが、制約領域の「歯車」アイコン ボタンをクリックすると表示されるドロップダウン メニューでグレー表示されます。
理想的には、ビューが広くなるにつれて緑色の領域のサイズが変更されるといいのですが、高さが高くなったり短くなったりするのではありません。これは他のすべてのツールで明らかだと思いましたが、XCode + Autolayout では、まったくサイズ変更されないか、4 方向すべてでサイズ変更されます。やりたくないことをしている制約を削除または削除することはできません。別のビュー内にある各ビューに 4 つの制約が必要ですか?
(更新 1: あいまいな、または指定されていないレイアウトになる制約を削除することはできません。)
(更新 2: ときどき、uiview ペインが兄弟にスナップしない場合、その uiview を削除して再試行すると、兄弟に自然に「スナップ」され、制約は、親。)
(更新 3: Matt は彼の回避策を削除しました。以下に再掲します。)
そもそも Autolayout を望まず、古いスプリングとストラットを元に戻したいだけの人のための回避策:
ステップ 1: 自動レイアウトをオフにします。
ステップ 2: 正しい自動サイズ変更マスクを選択します。