0

次のスクリーンショットが表示されているように、UINavigationBar の下に UIImageView を持つアプリを構築しています。 スクリーンショット

自動サイズ変更の制約を設定する前に、境界のサイズをログに記録したところ、ナビゲーション バーとステータス バーが 64 ポイントを占めるため、サイズは 320x505 とかなり妥当であることがわかりました。

設定する前の制約は次のようなものです。

ここに画像の説明を入力

その後、以下のような制約の「内側のクロス」部分を追加しました。今回は、境界のサイズをログに記録しているときに、ステータス バーとナビゲーション バーを考慮した 320x569 になりました。

ここに画像の説明を入力

UIImageView の「実際の」サイズは増加しないと確信しています。画像をロードすると、画像が正常に表示されるだけで、違いはありませんが、なぜこれが起こるのかわかりません。

だから私の質問は、これにつながるものとそれを修正する方法ですか?

前もって感謝します!

4

1 に答える 1

2

最初の Autosizing モードでは、(とりわけ) Fixed Top Margin & Fixed Bottom Margin & Fixed Height が設定されます。基本的に、ビューの上部と下部に同じマージンを持たせるが、高さを変更しないように指示しているため、インターフェイス ビルダーは下部の固定スプリングを優先します。

2 番目のケースは、上余白を固定、下余白を固定、高さを柔軟にすることで、コンテンツ全体に画像を引き伸ばします。View Controllerのオプション(トップバーの下に拡張)のチェックを外していない場合、完全なコンテンツは568です(4インチデバイスの場合、これはあなたのケースです)(ios 7でそのオプションをチェックしている場合、viewcontrollerのビューのy原点はナビゲーションバーの下にあります&ステータスバー、一番上の隅にあります)。

Extend under top bar オプションのチェックを外すと、ViewController のビューは 64 から始まります。

于 2013-10-30T15:46:57.060 に答える