Thursday, 4 May 2017

Edgesforextendedlayout Uitableview Datasource


Ich habe ein UITableView, das mit dieser Methode erstellt wurde (innerhalb eines UIViewController): Wenn die Anwendung den Hintergrund eingibt und der View-Controller dann neu geladen wird, verschiebt sich die TableView als Ergebnis (ich glaube) der Grenzen ändern sich. Allerdings habe ich versucht, Auto-Layout aus in Storyboard, drehen die autoresizesSubviews BOOL von self. view und von self. tableView und haben sogar versucht, ändern Sie die Einschränkungen auf der tableView. Jedes Mal, wenn die Ansicht geladen wird, bewegt sich der Inhalt. Außerdem habe ich die Einleitung in viewDidLoad gesetzt. Aber dann die tatsächlichen Größen nicht auf den Bildschirm zuordnen. Wie kann ich das TableView erzwingen, um es zu behalten, nachdem es in viewDidLayoutSubviews gefragt wurde, das am 25. Mai 14 um 12:14 angeschaut wird. ViewDidLoad wird nur einmal im View Controller-Lebenszyklus aufgerufen und wird aufgerufen, bevor die Ansicht seine Grenze-Eigenschaft gesetzt hat. Dies ist der perfekte Ort, um Ihre Unterviews zu initialisieren. ViewDidLayoutSubviews wird jedes Mal aufgerufen, wenn sich die Grenzen ändern, so dass die Einstellung des Frames in dieser Methode sicherstellt, dass dein TableView immer nach den aktuellen Schranken bemessen ist: antwortet 25. Mai 14 um 15: 20In meinem Navigationsstapel Kind, habe ich EdgesForExtendedLayout gesetzt. None When I Klicken Sie auf die Schaltfläche "Zurück", das UITableView in meinem Elternteil wird verschoben, als ob die Navigationsleiste nicht vorhanden ist. (Die Navigationsleiste umfasst den Tisch). Warum ist die Childs-Rand-Einstellung beeinflussen ihre Eltern Ich möchte nur, dass es den aktuellen viewController beeinflussen. In meinem Elternteil, so habe ich das UITableView erstellt: Könnte es sein, dass ich das TableViews-Framework falsch stelle, möchte ich, dass die Tabelle unterhalb der Navigationsleiste beginnt, aber vor der Tab-Leiste endet. Ich habe versucht, Ihr Problem so zu reproduzieren: Richten Sie ein UITableView in einem UIViewController mit einer einzigen Zelle ein, die einen neuen UIViewController schiebt. In dieser Ansicht hat control39s viewDidLoad. Ich setze selber. Wenn ich den Rückruf auf den UITableViewController drücke. Ich sehe keine Änderung der Position der Tabellenansicht. Ändern Sie die EdgesForExtendedLayout auf dem UINavigationController direkt ndash JAL Apr 27 16 um 20:15

No comments:

Post a Comment