ストーリーボードのUIViewControllerにUIViewがあり、上部エッジからの距離を表示するスペースに制約を追加します。
さて、Ctrlキーを押しながらViewControllerのメインビューに通常の方法でドラッグすると、トップレイアウトガイドに設定するオプションしかありません。
これは私にとって問題です。なぜなら、アプリのある時点でメインビューを20〜50ピクセル上に移動しようとすると、スーパービューにアラインされていないため、移動したビューが移動しないからです。
ストーリーボードでこれを手動で行うにはどうすればよいですか、プログラムで追加する必要がありますか?
Xcode 6を使用しています。
制約定数値の右側に矢印があります。それをクリックすると、メニューがポップアップ表示され、そこで制約を相対的にしたいものを選択できます。 [表示]を選択すると、ビューの上部に固定されます。
ストーリーボードで目的のビューを強調表示し、トップメニューで[Editor > Pin > Top Space to Superview
]を選択することで、これを実行できるはずです。
これはXCode 7では時代遅れです。代わりに@PaulGurovの回答を参照してください。
TL; DR:を押すと、マージンに制限できます Alt キーボードのキー
また、固定しようとしているビューが、固定したいビューの直接のサブビューではない場合、提案されたアプローチは実際には有効ではないことも追加できます。ビュー階層がそのように見え、画像ビュー(この場合はParallax Image View
)をView Controllerのビュー(この場合はView
)に固定するとします。
それをするためにあなただけ Control + Drag Parallax Image View
からView
へ。 Vertical Spacing to Top Layout Guide
を最上部のレイアウトガイドに固定するためのParallax Image View
が表示されるデフォルトの選択肢が表示されます。
あなたが望むのは、それをビューの一番上(マージン)に固定することです。これを行うには、を押して他の制約セットに切り替える必要があります Alt
ダンの答えは機能します。 storyBoardでビューをy <20に設定し、ピンパネルで制約を設定すると、topがsuperviewに設定されることを伝えたいだけです。
上記の答えはどれもうまくいきませんでした。代わりに、サブビューのトップをトップレイアウトガイドではなくスーパービューのトップに設定するためにハックする必要があります。
あなたは今行ってもいいです。
誤ってビューの高さが0に設定されている場合、上部レイアウトガイドへの垂直スペースは表示されません。ただし、2004年頃のApple内の誰かにとって意味のあるはずの、垂直方向のスペースから下へのレイアウトガイドが表示されます。