ビューコントローラ(VC)にuiviewを追加しましたが、その幅をVCのビューの幅と等しくなるように設定しようとしています。
私が設定して期待したこと:
そして私がiphone6 plusで得たもの:
先行スペースと後続スペースの定数を変更しようとしましたが、役に立ちませんでした。 iPhone 6+の自動レイアウトに特別なものはありますか?
ここでのビュー設定は「任意の幅x通常の高さ」です。
------- 2016年12月に追加私のようなこのケースで混乱している人へ:UIViewには レイアウトマージン プロパティがあります。これはUIEdgeInsets(8,8,8,8)です。 。それはcssパディングのようなものです。
ビューのエッジがスーパービューのエッジに近く、preservesSuperviewLayoutMarginsプロパティがtrueの場合、コンテンツがスーパービューのマージンと重ならないように、実際のレイアウトマージンを増やすことができます。
デフォルトのマージンは、各側で8ポイントです。
ビューがビューコントローラのルートビューである場合、システムはマージンを設定および管理します。上マージンと下マージンはゼロポイントに設定されます。サイドマージンは現在のサイズクラスによって異なりますが、16ポイントまたは20ポイントのいずれかになります。これらのマージンを変更することはできません。
制約を追加するときは、[マージンに制約]チェックボックスを削除してみてください。ここで見てみましょう:
マージンへの制約がチェックされ、その結果
ここで、制約を削除し、[制約]をオンにして制約を余白に再度追加した後、結果は次のようになります。
シャロンの答えは素晴らしく機能しますが、問題を解決するために既存の制約を削除する必要はありません。既存の制約を編集して、余分なマージンを削除できます。
既存の制約を編集して余分なマージンを削除しても機能しません。既存の制約を削除し、マージンの制約を選択せずに新しい制約を追加する必要があります。