別のビューコントローラを埋め込むコンテナビューがviewDidLoad
にあります。埋め込みビューコントローラのビューを非表示にすると、コンテナビューは画面上に残ります。エンベデッドコントローラのビューにはGreater or Equal
の高さの制約があり、ビューを非表示にすると0に設定されます。コンテナビューのサイズが、エンベデッドコントローラのビューの高さの制約が変更されたときに変更されない
エンベッデッドコントローラの表示を非表示にすると、コンテナ表示を非表示にするにはどうすればよいですか?
EDIT:
私は私の質問が..私は0に組み込みコントローラのビューの高さ制約を設定していると私は0に減少し、そのコンテナの高さを期待してい誤解されていることを認識は間違って仮定ことですか?
高さ制約の関係をEqual
に設定すると機能しますが、関係をGreater Than or Equal
に変更すると機能しなくなります。
組み込みコントローラのビュー階層 ここ
はコンテナビューとビューコントローラは次のようになります -
が、私は内部の埋め込みビューの高さ制約を変更することができるようにしたいですコンテナビューを開き、コンテナビューを新しい高さに合わせます(ユーザーにビューを表示するかどうかに応じて、0または44)。その決定は、埋め込みコントローラの内のviewWillAppear
ですファイル)。
私は高さの制約のためにGreater Than or Equal
関係を利用したい理由は、アクセシビリティが原因である -
これは私が0に高さ制約を設定するときに表示したいものです。ユーザーがフォントサイズを大きくすると、埋め込みビューのサイズが大きくなりたい。
実際、スーパービュー(コンテナ、親)は、そのサブビュー(埋め込み、子)が非表示に設定されていると非表示にならないのが普通です。 – kirander
親を非表示にしたい場合は、self.superview.hidden = YESを呼び出すことができます。 – kirander
@nambatee何を達成したいですか? – Vyacheslav