Ich habe eine ViewController, mit einer Tabellenansicht in einem Scrollview.Passen Sie die Höhe von scrollview entsprechend der Höhe seiner Kindtabellenansicht in SWIFT
Ich muss programmatisch die Höhe der Tabellenansicht und dann die Höhe der Bildlaufansicht aktualisieren (scrollview die Höhe hängt von der Höhe der Tabellenansicht ab).
-my View Controller
-View
-ScrollView
-Container View
-TableView
Also schrieb ich diesen Code in das viewDidAppear meiner Viewcontroller:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
var frame:CGRect = self.tableView.frame
frame.size.height = tableView.contentSize.height
self.tableView.frame = frame
scrollView.contentSize=CGSizeMake(scrollView.frame.size.width, tableView.frame.origin.y + tableView.frame.height)
}
Wenn ich in der Konsole überprüfen, viewDidAppear bevor alle cellForRowAtIndexPath genannt wird. In diesem Fall funktioniert alles wie ich will.
In meinem ViewController habe ich eine Schaltfläche, die einen ModalViewController öffnet. In diesem modalViewController füge ich neue Daten in meine Tabellenansicht ein (also eine neue Zelle).
Wenn ich meinen modalViewController mit disneyViewControllerAnimated schließe, wird viewDidAppear aufgerufen, aber AFTER alle cellForRowAtIndexPath. Mein ViewController wird nicht korrekt angezeigt, die Tabellenansicht ist beschnitten, ich kann nicht zum Ende meiner TableView scrollen. Mein Code funktioniert nicht.
Ich arbeite mit Swift und Auto-Layout.