2012-06-30 21 views
5

場合によっては、オートレイアウト制約が間違ったアンカーポイントにスナップすることがあります。コントロールをその上にあるコントロールに固定し、オートレイアウトアウトラインがウィンドウの下部に固定されているような場合があります。制約を移動する方法はありますか? ASCIIアートは、これをより明確にする必要があります。これは私が持っているものです。インターフェイスビルダーで自動レイアウト制約を移動できますか?

+------------------------+ 
|      | 
| [x] Some checkbox  | 
|      | 
| [x] Another checkbox | 
|  |     | 
|  | ← autolayout  | 
|  | constraint  | 
|  |     | 
+-----+------------------+ 

そして、これは私が代わりに何をしたいです:

+------------------------+ 
|      | 
| [x] Some checkbox  | 
|  | ← A.C.   | 
| [x] Another checkbox | 
|      | 
|      | 
|      | 
|      | 
+------------------------+ 

私は上向きに下のチェックボックスを移動することで、上のチェックボックスに制約を固定することができますが、それは私が欲しいものではありません縦のスペースを大きくしたい。 (チェックボックスはイラストのためのものですが、私の実際のユースケースには異なるビューがあります)

答えて

7
  1. セレクト2つのチェックボックス
  2. インタフェースビルダ
  3. 選択垂直間隔今

enter image description here


の右下の "H" アイコンをクリックしてください不要な制約を選択して削除してください:

enter image description here

+0

+1あなたは私を狂ったから救ったばかりです。私は数時間前からMacでLearn Cocoaという本のレイアウトに苦労してきたが、私はそれをさらに悪化させてしまった。これは私の問題を解決するために必要なものです。 – MetalMikester

1

下のチェックボックスを移動して、上のチェックボックスとの間に支柱があるようにしてください。 ストラットをクリックし、右側のパネルの属性ボックスをクリックします。 「標準」チェックボックスをオフにして、必要な間隔に設定する必要があります。

1

いいえ、制約を移動したり、別のビューに対して相対的に変更することはできません。 David Chuさんのように、自動的にそれがあなたが望む種類の制約を取得するまでビューを移動し、制約の値を変更して、必要な場所にビューを戻すことができます。ただし、必要な制約を手動で作成し、自動化されていない制約を削除することもできます(場合によっては困難な場合もあります)。

2つのチェックボックスを選択してから、エディタ>ピン>垂直間隔メニューを使用して、必要な制約を追加します(または、IBレイアウトビューの右下にある3つのボタンの真ん中を使用します)。同じメニューが表示されます)。その時点で、不要な自動制約が冗長化され、紫色から青色に切り替わるはずです。それを選択して削除することができます。各種類の制約は、ピンと整列メニューの項目を使用して作成できます。

私は、彼らが青に紫からシフトしていない理由のXcodeが時々パズルを追加し、自動制約に対するその戦いは見つけることがしたい制約を得ることは、常に可能であることを発見しました。たとえば、いくつかのカスタム制約を追加した後で直接ビューを移動すると、Xcodeは自動的に追加した制約の大部分を削除し、自動的に再追加しました。動いた!がんばろう。

関連する問題