マップビューは画面いっぱいに表示されますが、使用可能な領域は上半分(下端のレイアウトマージン)に制限されているため、マップの下端が視覚効果ビュー画面の半分の高さで画面の下部に固定されています。通常、ツールバーの上と下に広がるのと同じ方法です。 自動レイアウトを使用してレイアウトマージンを設定する
は、次のように私はコードでlayoutMarginsプロパティを設定することができ、これを達成するために:私は原因に余白が自動的に更新されるように、代わりに自動レイアウト制約でこれを行うしたいと思いますしかしself.mapView.layoutMargins = UIEdgeInsetsMake(0, 0, self.view.frame.size.height/2, 0);
たとえば、画面の回転のために表示サイズが変化します。これが可能なら誰でも知っていますか?もしそうなら、特定のレイアウト制約をIBまたはコードのどちらに追加するのですか?私はそれがNSLayoutAttributeBottomMarginの使用を必要とするかもしれないと信じています。ありがとう。上のスクリーンショットで
、あなたは地域が英国に設定し、マップビューの使用可能な部分を埋めて、あなたはまた、左下の法的ラベルを見ることができますされています見ることができます正しいです場所。これらは、マップビューでlayoutMarginsプロパティを使用するメリットの一部です。インターフェイスビルダーで
返信ありがとうございますが、私の問題に答えることはありません。エフェクトビューを画面の下半分に固定するのに問題はありません。私は地図の下のレイアウトマージンを視覚効果ビューの上端またはその高さに固定しようとしています。 – malhal
私の謝罪は、質問をあまりにも速くスキミングしました。サイズインスペクタの下でIBでレイアウトマージンを明示的に設定できますが、もっと動的なものを探しているようです。私はこのような状況でサイズクラスを使用することについて考えます。必要なだけ多くの回転で高さを明示的に設定し、サイズクラスが回転とサイズ変更を処理できるようにします。 – BendE
私はその設定を試しましたが、効果はありません。そして、私は余裕が必要です。 – malhal