Wie man die Größe von UITableView in UITableViewController mit Abschnitts-header
Ich habe eine gruppierte UITableView in einem UITableViewController und ich möchten, ändern Sie die Größe horizontal.
Ich habe versucht, viele verschiedene Möglichkeiten, aber keiner von Ihnen war perfekt.
Was ich versucht habe:
1.) Überschreiben - [UITableView setFrame:]
, aber Sie bewegt sich nicht die überschriften der Abschnitte und dort sind schwarze Bereiche auf beiden Seiten (denn es gibt nichts, das hinter der Tabelle).
2.) Überschreiben - [UITableViewCell setFrame:]
, aber es immer noch nicht bewegen Sie den Header (das ist wichtig).
3.) Aufruf - [self.view setFrame:]
von UITableViewController, aber es nicht tun.
Hast du eine Idee wie es zu lösen bitte teilen Sie es mit mir!
- [self.tableView setFrame:]
?Die Tabelle Ansicht einer
UITableViewController
ist der Ansicht Steuerung Ansicht so self.view
und self.tableView
sind die gleichen.Ja, aber ich habe das gleiche Ergebnis.
Wenn Sie anrufen
- [self.tableView setNeedsLayout:]
? Bedenken Sie auch, dass der table view ist ein scroll-Ansicht, so dass setContentOffset:
sollte auch funktionieren.InformationsquelleAutor Rickye | 2012-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie anrufen
- [UITableView setFrame:]
aus- [UITableViewController viewDidAppear:]
funktioniert es:Um zu vermeiden, dass die schwarzen Balken auf jeder Seite der Tabelle anzuzeigen, legen Sie die Hintergrundfarbe des Hauptfensters der Anwendung Fenster in weiß:
UIViewController viewDidAppear:
ist veraltet? Das ist es nicht.- (void)viewWillAppear:(BOOL)animated
funktioniert auchGenau wie @matejkramny erwähnt
- (void)viewWillAppear:(BOOL)animated
funktioniert auch und macht Sie die Größe vor der Ansicht sichtbar ist.Warum funktioniert es nur auf viewDidAppear und nicht irgendwo anders?
viewWillAppear:
bei mir nicht funktioniert.InformationsquelleAutor
Das Hauptproblem ist, dass die Tabelle-Ansicht einer
UITableViewController
ist die Hauptansicht, so ist es nicht gemeint, in der Größe verändert werden.Die beste option ist, nicht zu verwenden
UITableViewController
. Verwenden Sie stattdessenUIViewController
und fügen Sie Ihre eigenenUITableView
als Untersicht-view-controller - Hauptansicht. Sie können so groß wie nötig.Gibt es natürlich zusätzliche Arbeit, hook up alle Sanitär-so Ihre Ansicht-controller funktioniert wie eine Tabelle, view-controller, aber es ist nicht zu viel zu tun.
InformationsquelleAutor rmaddy
Fix-Header die Größe ändert, würde ich versuchen:
Sollte dieser code ersetzen Sie diese Methode:
InformationsquelleAutor Joe Fratianni
Ich weiß, das ist eine alte Frage, aber ich denke, in diesem Szenario ist es besser, zu verwenden UITableViewController eingebettet in der Container-Ansicht statt der Größenänderung von UITableViewController die tableView.
InformationsquelleAutor Muhammad Zeeshan
Bisschen spät, um der Partei, aber es kann immer hilfreich für andere die Suche nach dem Thema...
Ich glaube nicht, dass zu tun, dass in der viewDid erscheinen, ist der richtige Weg, es zu tun, da wird es auf jeden Fall für den Benutzer sichtbar sein und die Größe, die Sie vor Ihren Augen. Nicht zu machen für eine großartige user experience imo.
Swift 4 verwende ich etwas wie
Diese änderungen vor dem tableView sichtbar ist, und stellen Sie die Benutzer-Erlebnis so viel besser, und auch wie gesagt in die akzeptierte Antwort, die Sie benötigen, um das Fenster Farbe die Farbe Ihrer Tabelle anzeigen, um die Mischung besser (weiß als Standard)
InformationsquelleAutor Muvimotv