2017-01-27 4 views
0

を制約するものではなく、私は、次のシーンを作成しました:サブビューはUIViewの境界に

Application scene

シーンはその中に含まれる他のすべてのビューとstackViewが含まれています。灰色の領域は、viewDidLoadの間に追加された3つのサブビューを取得するUIViewです。私はこれらのビューのそれぞれをUIViewに塗りつぶして、その境界に拘束したいと思います。 3つのボタンの1つがクリックされると、対応するビューが表示のために前面に表示されます。私が直面している問題は、サブビューがUIViewに制約されていないということです。私は非常にいくつかのオプションを試しましたが、私が探している効果を得ることができません。次のイメージの赤色は、ロードされたサブビューの背景です。

iPhone 5

は、より大きなデバイスでは、サブビューも右側の境界をoverextend。どのように私のUIViewの境界にサブビューを制約するのですか?

答えて

0

灰色のスーパービューの境界で拘束したい3つのビューのフレームを設定します。これは、灰色の表示のlayoutSubviewsまたはviewControllerのviewDidLayoutSubviewsの中で行うことができます。

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 

    subview0.frame = greyView.bounds 
    subview1.frame = greyView.bounds 
    subview2.frame = greyView.bounds 
} 

または灰色ビュー用のカスタムクラス内

(あなたが定義されている場合は、カスタムクラス)

override func layoutSubviews() { 
    super.layoutSubviews() 

    subview0.frame = bounds 
    subview1.frame = bounds 
    subview2.frame = bounds 
} 

はまた彼らのスーパーにサブビューを制約する制約を使用して行うことができます。

+0

パーフェクト。よく働く。 – drosales

関連する問題