Wie Sie einen ViewController zu einem Navigation-Controller, wenn es enthält eine TableView als root?
Ich versuche, fügen Sie ein UIViewController
(AddProjectViewController) , ein Navigation-Controller (navigationController
), die eine tableView
legen Sie als root ein, und es funktioniert nicht.
Dies ist, wie ich die Dateien setup: http://d.pr/y8rt
Sich der code in ProjectsController.m
- bitte helfen 🙁
Es sollte Hinzugefügt werden, wird beim klicken auf das +, so dass ich kann anzeigen die Ansicht zum hinzufügen von Projekten.
Wollen Sie zu drücken oder schieben Sie in der view-controller von unten? (Ich schlage vor, präsentieren es Modal (slide von unten), da dies mehr Sinn macht in Bezug auf die Aktivität von etwas hinzuzufügen, und Tippen Sie auf "Fertig" gelangen Sie zurück zur übersicht)
Wollen Sie zu drücken oder schieben Sie in der view-controller von unten? (Ich schlage vor, präsentieren es Modal (slide von unten), da dies mehr Sinn macht in Bezug auf die Aktivität von etwas hinzuzufügen, und Tippen Sie auf "Fertig" gelangen Sie zurück zur übersicht)
InformationsquelleAutor vuzum | 2011-01-25
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, also werde ich Ihnen erklären, was du falsch machst zuerst:
Geschoben view-controller wird automatisch Erben super ist (der view-controller, drückt es) Navigationsleiste (das heißt, Sie können Anrufe tätigen, auf selbst.navigationController in der child-view-controller, da UINavigationController ist einfach eine Unterklasse von UIViewController (und so ist UITableViewController).
Hier ist, was Sie tun müssen:
Jedoch, für das, was Sie versuchen zu tun, es wäre viel besser die view-controller-Modal, das heißt, Sie haben zu halten, es in einen Navigations-controller. Hier ist, wie:
Beachten Sie, dass Sie brauchen, um zu erstellen UIBarButtonItems in Ihrem AddProjectViewController Klasse.
Habe ich aktualisiert Ihre code hochgeladen und es hier: http://dl.dropbox.com/u/5445727/Zum.zip
Hoffe es hilft, müssen Sie Blick auf die Kommentare hier, die ich nicht übertragen Sie Sie auf Ihr Projekt. Viel Glück 🙂
Oh ja, es macht Sinn, jetzt! Ich gehe mit der Modal-Ansicht, macht es mehr Sinn. Danke eine million!
Du bist willkommen 🙂
Ich habe noch eine Frage, wenn Sie helfen können - wie würde ich mich über den Zugriff auf tableView nun, aus der AddProjectViewController? Ich fügte hinzu, die addProject-Methode gibt, aber wenn ich versuche zu nennen: [super.tableView reloadData]; Es funktioniert nicht. Auch, wenn ich einen Kommentar unter dieser besonderen Linie, die app stürzt ab und die Daten werden nicht gespeichert. 🙁
Sie haben vier Optionen: 1.) erstellen Sie einen Delegaten für AddProjectsViewController, dass ProjectsController erbt. 2) Verwenden Sie NSNotifications 3) call-reloadData auf der tableView in viewWillAppear 4), Da Sie mit Core Data, und es gibt tatsächlich eine delegate-Methode, die ausgelöst wird, wenn die Daten geändert werden (gelöschte Datensätze, etc). Fügen Sie dieser Delegat-Methode im ProjectsController, und laden Sie den tableview innerhalb dieser Methode. Ich persönlich würde mit der option #4, da Sie bereits setup der CD-Zeug, brauchen Sie nur einen kostenlosen delegate-Methode, und Sie sind ziemlich viel getan!
InformationsquelleAutor runmad