2017-04-24 4 views
0

Weitere viewcontroller Bilder werden in Standard-blauem Hintergrund statt auf Originalbildern angezeigt. Ich möchte sie in Originalbilder ändern und auch UITableViewCell's Höhe erhöhen. Ich habe versucht, TableView Delegate-Methoden auf UITabbarController zu implementieren, aber nichts funktioniert. Auch moreNavigationController ändert sich auch nicht. 1) Wo muss ich diese benutzerdefinierten Methoden viewDidLoad oder viewWillAppear schreiben. Auch shouldSelectViewController wird nicht aufgerufen. Das erste Mal, wenn ich ein Tabbar-Element auswähle, wird es aufgerufen und wenn ich das mehr Element wähle, wird es nicht aufgerufen. 2) Wo sollte ich UITableView Delegate Methoden implementieren.Wie ändert man UITabbarControllers ViewControllers UITableViewCells Bilder?

Mein Bildschirm - My screen looks like this, but i want

erforderlich Bildschirm -

something like the below screen

Eine Lösung mit schnellen hilfreich. Danke im Voraus.

+0

versuchen Sie diese Lösung: http: //stackoverflow.com/a/6019217/3901620 – KKRocks

+0

andere auch: http://Stackoverflow.com/a/438514/3901620 – KKRocks

+0

@KKRocks. Danke für die Verbindung. Ich habe es nicht mit einem benutzerdefinierten Viewcontroller versucht. Ich werde versuchen und zurückkommen. Danke für die Hilfe. – nocabbages

Antwort

0

Hier muss etwas Inhalt entpackt werden. Ich bin mir nicht ganz sicher, ob ich die Frage vollständig verstehe, aber ich werde weitermachen und so gut wie möglich antworten.

ViewDidLoad und ViewWillAppear

Sie fügen Code in viewDidLoad für die Initialisierung. Diese Methode wird ausgeführt, wenn Ihre Ansicht ursprünglich geladen wurde, und wenn Sie den Controller nicht jedes Mal instanziieren, wenn er nur einmal ausgeführt wird (in diesem Fall nicht, weil Sie das vordefinierte Registersystem verwenden, das sich darum kümmert)

So würde ich das Styling Code in viewDidLoad()

hinzufügen Wenn ein Viewcontroller angezeigt werden soll, wird viewWillAppear() aufgerufen werden. Dies wird jedes Mal passieren. Wenn Sie sich wiederholende Aufgaben wie Netzwerkanrufe ausführen, eine Neugestaltung basierend auf anderen Daten durchführen oder Tabellen aktualisieren müssen, sollten Sie dies hier tun.

Tabellenmethoden

Für tun, was Sie mit einer Tabelle zu tun, benötigen Sie am meisten brauchen beide wahrscheinlich UITableViewDelegate und UITableViewDataSource auf Ihre View-Controller. Suchen Sie online nach einem beliebigen UITableView-Lernprogramm, das sehr umfangreich ist und Ihnen erklärt, wie Sie alle Tabellenmethoden hinzufügen, die Sie in Ihrem ViewController benötigen.

+0

In CustomTabBarController, die eine Unterklasse auf UITabBarController ist, habe ich es mit UITableView Delegate und DataSources erweitert. Dann habe ich alle Methoden implementiert, die vorhanden sind. Aber nichts wird gerufen. Meine Frage ist, kann ich TabBarController mit TableView-Controller erweitern? Oder sollte ich eine neue ViewController-Unterklasse von UITableViewController nehmen, die in der Tableiste "More" angezeigt wird? – nocabbages

0

Ich habe die Anforderung funktioniert. Das schrittweise Verfahren, dem ich folgte, ist

  1. Nehmen Sie einen ViewController, der UITabbarController erweitert.
  2. Nehmen Sie ein Array mit fünf Elementen genau. (Wenn mehr als fünf dann Standardfunktionalität aktiviert ist).
  3. Die ersten vier Tabs wie erforderlich und der fünfte sollte "More" Registerkarte sein. Mit den erforderlichen Tab-Bildern.
  4. Für 'More' erstellen Sie einen View Controller, der UITableView-Delegaten und Datenquellen erweitert. Und implementieren Sie entsprechende Methoden von Delegaten und Datenquellen.
  5. Nehmen Sie ein Array der Zellen, die Sie anzeigen und anzeigen möchten.
  6. Verknüpfen Sie diesen 'Mehr' View Controller mit dem Tab 'More'.
  7. Ändern Sie die Bilder in der Tabellenansicht in der Methode cellForRowAtIndexPath. Führen Sie die Anwendung aus und überprüfen Sie, indem Sie auf die Registerkarte "More" klicken. Diesmal sollte es die geänderte Benutzeroberfläche anzeigen. Wenn jede Zelle beim Auswählen der Zellen verschiedene View-Controller anzeigen soll, wechseln Sie zu verschiedenen View-Controllern, die die Segmente von ViewController verwenden (kein Übergang von der Tabellenzelle). Definieren Sie eine eindeutige Segment-ID für jeden Abschnitt und zeigen Sie die View-Controller basierend auf switch- oder ifselse-Bedingungen in sentSelectViewController mit performSegueWithIdentifier an.

Dank @KKRocks für die wertvollen Links.

Verwandte Themen