De retour du Bouton de Navigation ne s'affiche Pas dans la Poussé de-Vue-Contrôleur
J'ai un problème lorsque je peux réussir à pousser une nouvelle vue-contrôleur de mes racines-vue-contrôleur (aide à la Navigation de l'application à l'aide de Données de Base modèle), mais la vue de détail, qui est séparé xib fichier à partir de la racine-vue-contrôleur, n'affiche pas le retour du bouton de navigation. Je suis certain que j'ai fait toutes les connexions de l'IB, et tout le reste fonctionne comme prévu.
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 est un UITableViewController sous-classe avec ses propres xib, également nommé ItemsViewController. Encore une fois, il est poussé à partir RootViewController, mais le bouton de retour n'est pas comme cette. j'étais sous l'impression qu'il était un "libre" de l'aide d'une manette de navigation. Comme vous vous en doutez, c'est un très frustrant barrage et je vous serais reconnaissant de toute aide.
- J'ai eu le même problème jusqu'à ce que de voir ce post. C'est vraiment bizarre le comportement par défaut. Pourquoi ne pas juste "Retour" si aucun nom n'est fourni?
- Ouais, ou un certain genre d'erreur ou d'avertissement dans Xcode, ce serait bien.
Vous devez vous connecter pour publier un commentaire.
Votre
ItemsViewController
classe et sontitle
bien dans sonviewDidLoad
méthode?Vous devriez appeler
[tableView deselectRowAtIndexPath:indexPath animated:YES]
comme la dernière ligne detableView:didSelectRowAtIndexPath:
pour se conformer à Apple human interface guidelines.title
dansRootViewController
'sviewDidLoad
méthode? J'ai eu des problèmes avant avec le bouton de retour lorsque la racine de la vue du titre n'était pas définie.Ouais, assurez-vous d'avoir un titre sur votre RootViewController, si ce n'est pas aucun bouton n'apparaîtra. Pour définir un titre par programme;
Quelques informations supplémentaires pour les futurs lecteurs: j'ai rencontré ce problème en essayant de re-remplir une nav de la hiérarchie sur l'application de la charge, j'ai donc été en appelant setViewControllers: à partir de l'app délégué du la demande:didFinishLaunchingWithOptions: la méthode. Et j'ai été en cours d'exécution dans le même problème avec le bouton de retour ne s'affiche pas.
Dans mon cas, la définition de la vue racine contrôleur de la valeur liquidative du titre de l'élément dans son viewDidLoad ne fonctionne pas, sans doute parce que les autres points de vue ont été chargement de la première et de voir la racine du titre comme null. Au lieu de cela, j'ai défini la vue de la racine de contrôleur de la valeur liquidative du titre de l'élément dans mon application:didFinishLaunchingWithOptions: méthode juste avant, j'ai appelé setViewControllers:, et qu'il fixe.
Cela peut aussi arriver si vous êtes un bonehead et, par erreur, initialiser la vue modal au lieu de pousser une vue de la manette de navigation.
oops: [auto presentModalViewController:navController animated:YES];
cela signifiait: [self.navigationController pushViewController:contrôleur de animated:YES];
Essayez l'extrait de code suivant. Il travail pour moi!