Zurück Navigation Button Nicht angezeigt im View-Controller Geschoben
Ich habe ein problem wo kann ich erfolgreich schieben Sie eine neue view-controller von meinem root-view-controller (mit Hilfe der Navigation-basierte Anwendung mit Core-Daten-Vorlage), aber die detail-Ansicht, die eine eigene xib-Datei aus dem root-view-controller, nicht angezeigt, die zurück-Schaltfläche navigation. Ich bin mir sicher, dass ich getan habe, all die richtigen verbindungen in der IB, und alles andere funktioniert wie erwartet.
RootViewController.h
@class ItemsViewController;
@interface RootViewController : UITableViewController <NSFetchedResultsControllerDelegate> {
IBOutlet ItemsViewController *itemsVC;
}
@property (nonatomic, retain) IBOutlet ItemsViewController *itemsVC;
@end
RootViewController.m
#import "ItemsViewController.h"
@synthesize itemsVC;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//Pushes to ItemsViewController
ItemsViewController *itemsViewController = [[ItemsViewController alloc] initWithNibName:@"ItemsViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:itemsViewController animated:YES];
[itemsViewController release];
}
ItemsViewController ist ein UITableViewController subclass mit eigener xib, auch genannt ItemsViewController. Wieder, es wird geschoben von RootViewController, aber der zurück-button nicht zeigen, bis wie diese. war ich unter dem Eindruck war, dass es ein "free" - Funktion mit einem navigation controller. Wie Sie vielleicht erwarten, ist dies eine sehr frustrierende Hindernis, und ich wäre jede Hilfe dankbar.
Ja, das, oder irgendeine Art von Fehler oder eine Warnung in Xcode wäre schön.
InformationsquelleAutor Paul Ward | 2010-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Macht Ihr
ItemsViewController
Klasse seinetitle
Eigenschaft in denviewDidLoad
Methode?Sollten Sie rufen
[tableView deselectRowAtIndexPath:indexPath animated:YES]
die Letzte Zeile dertableView:didSelectRowAtIndexPath:
konform zu den Apple human interface guidelines.Wahr. Aber man sollte immer einen Titel in der Navigationsleiste. Wie wäre es damit: Sie sind die Einstellung der
title
imRootViewController
'sviewDidLoad
Methode? Ich hatte schon Probleme, bevor Sie mit der zurück-Taste, wenn der root-Ansicht-Titel war nicht gesetzt.Entschuldigen Sie mich, während ich Hebe mein Gesicht aus dem Schreibtisch. Einstellung eines Titels im RVC gab mir die zurück-Taste. Ich denke, es muss aufgefüllt werden, bevor es gerendert wird. Danke für den Tipp, ich werde nicht vergessen, dass zu jeder Zeit bald!
Noch seltsamer ist, dass es scheint in den simulator!
InformationsquelleAutor Shaggy Frog
Yeah, stellen Sie sicher, dass Sie einen Titel auf Ihrem RootViewController, wenn nicht, keine Taste wird angezeigt. Um einen Titel programmatisch;
InformationsquelleAutor Pudgeball
Einige zusätzliche info für zukünftige Leser: ich lief in dieses problem, während Sie versuchen, neu zu bevölkern, eine nav-Hierarchie auf die Anwendung laden, so dass ich rief setViewControllers: aus dem app-delegate application:didFinishLaunchingWithOptions: Methode. Und ich lief in das gleiche problem mit dem zurück-button nicht angezeigt.
In meinem Fall, setzen der root-view-controller - nav-item-Titel in seiner viewDidLoad hat nicht funktioniert, vermutlich weil die anderen Ansichten wurden zuerst geladen und zu sehen, die root-Titel als null. Stattdessen habe ich den root-view-controller - nav-item-Titel in meiner application:didFinishLaunchingWithOptions: Methode, kurz bevor ich aufgerufen setViewControllers:, und dass es behoben.
InformationsquelleAutor Josh Justice
Dies kann auch passieren, wenn du bist ein Dummkopf und irrtümlich die Initialisierung der view als modal anstatt einen Blick auf den navigation-controller.
oops: [self presentModalViewController:navController animated:YES];
gemeint: [self.navigationController pushViewController:controller animated:YES];
InformationsquelleAutor John Mead
Versuchen Sie folgenden Abschnitt. Es funktioniert für mich!
InformationsquelleAutor Jayprakash Dubey