これは、すべて高さ/幅を柔軟に設定するか、translatesAutoresizingMaskIntoConstraintsをfalseに設定するという点で数多くの類似の質問があります。スーパービューの読み込みが終了するとサブビューのサイズを変更します
私が作成した拡張機能を使用してビューを追加しています
extension UIView {
func addView(storyboard: String, viewIdentier: String) {
let story = UIStoryboard(name: storyboard, bundle: nil)
let subview = story.instantiateViewController(withIdentifier: viewIdentifier)
subview.view.frame = self.bounds
self.addSubview(subview.view)
}
}
ViewDidAppearのすべてが正常に動作して、私は、ビューを初期化するためにこれを使用した場合。しかし、ビュー内のビューがロードされた場合、ビューを含むcontrainViewにはまだロードされていない独自の制約があるため、制約は完全に上書きされます。
私は現在、次のように使用します。
@IBOutlet weak var container: UIView!
override func viewDidLoad() {
container.addView(storyboard: "Modules", viewIdentifier: "subview")
}
私は理由の理由のViewDidAppearでビューを初期化する必要はありません。これを修正する方法はありますか?または、スーパービューがロードされた後にサブビュー制約をリロードしますか?
また、私は実際に他のソリューションを使用してみました。私はこの仕事をすることができないので、本当に助けに感謝します。
ハハ!さて、マット。アドバイスをいただきありがとうございます。私は答えになると感じていた。 – LateNate
あなたはその気持ちを持っていたと感じました...! :)しかし、私はあなたの方法が破滅していたこと、そしてリサイズに何らかの種類の生の応答を設定するのが正しい方法をなぜ理解しているのか、少なくとも今は願っています。 – matt