Ich weiß, es gibt unzählige ähnliche Fragen dazu, die entweder alle dazu führen, flexible Höhe/Breite zu verwenden oder settingsAutoresizingMaskIntoConstraints auf false zu setzen.Unteransicht skalieren, wenn Superview fertig geladen wird
Ich habe eine Ansicht hinzufügen, eine Erweiterung mit I erstellt:
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)
}
}
Wenn ich diese verwenden, um einen Blick zu initialisieren, in dem ViewDidAppear alles funktioniert. Aber wenn es in der Ansicht geladen wurde, dann sind die Einschränkungen überall, weil die contrainView, die die Ansicht enthält, ihre eigenen Bedingungen hat, die noch nicht geladen sind.
Ich verwende derzeit wie folgt aus:
@IBOutlet weak var container: UIView!
override func viewDidLoad() {
container.addView(storyboard: "Modules", viewIdentifier: "subview")
}
Ich will nicht die Ansicht in der ViewDidAppear aus Gründen initialisieren. Gibt es eine Möglichkeit, dies zu beheben, so dass es wie erwartet funktioniert? Oder laden Sie die Subview-Einschränkungen neu, nachdem die Superview geladen wurde?
Auch ich habe wirklich versucht, andere Lösungen zu verwenden. Ich kann diese Arbeit nicht so machen, würde wirklich etwas Hilfe schätzen.
Haha! Okay Matt. Danke für den Hinweis. Ich hatte das Gefühl, dass das die Antwort sein würde. – LateNate
Ich hatte das Gefühl, du hattest dieses Gefühl ...! :) Aber ich hoffe zumindest, dass du jetzt verstehst, warum dein Weg zum Scheitern verurteilt war und warum der richtige Weg ist, eine Art Live-Reaktion auf die Größenänderung zu konfigurieren. – matt