UIViewの中にUIViewがいくつか入っているプログラムを組みました。
内側のUIViewはそれぞれ高さが異なり、ボタンを押すと1つだけ表示され、他のUIViewは非表示、高さ0になる様に設定しています。
そこで、外側のUIViewの高さを表示しているUIViewに合わせて自動で変えるプログラムを作りたいのですが、どの様にすれば良いのでしょうか。
添付画像で説明させて頂きますと、緑のViewの中に赤と黄色と青のUIViewが入っていて、下のボタンを押すと、それぞれの色のViewだけ表示する様なものになっています。(外側の緑のUIViewとLabelは残したまま)
redを押したら赤のUIViewだけ表示されて、緑のUIViewが表示しているUIView(この場合赤)に合わせて高さが変わる様にしたいです。(画像だと下側に緑が少しはみ出ていますが、緑のUIViewの中に3つ他のUIViewが入っていると分かりやすくするためで、実際は青のUIViewの下側と緑のUIViewの下側は一致しています。)
全ての制約と内部のUIViewの高さは分かっているので、緑のUIViewの高さを計算で出すことは可能だと思うのですが、何か他に良い方法はあるのでしょうか。
sizeToFitも試したのですが上手く適用されませんでした。またstoryboard上で中のViewの下部に合わせて制約をつける(外側のUIViewの下部を中のUIViewの下部に合わせて制約をつける)という情報もあったのですが、そもそも外側のUIViewの制約をつけるときに中のUIViewが被制約側の選択肢として出てきませんでした。
文章ばかりで恐縮ですが、ご回答頂ければ幸いです。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー