Ajouter une navigationBar à  une vue

remoozremooz Membre
12:25 modifié dans API UIKit #1
J'ai une tableView et je souhaite ajouter une UINavigationBar mais impossible de la faire apparaà®tre :(

j'ai modifier la méthode viewDidLoad comme ci-dessous :
- (void)viewDidLoad {<br />&nbsp; &nbsp; [super viewDidLoad];<br /><br />	// Set up the navigation bar<br />&nbsp; &nbsp; newTripNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];<br />	<br />	saveButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveButtonPressed)];<br />	<br />	UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@&quot;New Trip&quot;];<br />&nbsp; &nbsp; navigationItem.rightBarButtonItem = saveButton;<br />&nbsp; &nbsp; [self.newTripNavigationBar pushNavigationItem:navigationItem animated:NO];<br />}


Un peu d'aide ne serait pas de refus. Ma question est peut-être toute bête mais je n'ai trouvé aucune réponse.
Merci par avance :)

Réponses

  • zoczoc Membre
    12:25 modifié #2
    Si l'UINavigationBar n'est pas insérée dans la hiérarchie des vues, elle ne risque pas d'apparaà®tre...

    [self addSubView:newTripNavigationVar];

  • remoozremooz Membre
    12:25 modifié #3
    Yes impeccable.
    J'ai honte d'avoir posé cette question, c'était tout bête.
  • remoozremooz Membre
    12:25 modifié #4
    Maintenant j'ai un autre problème.

    En fait ma navigationBar se déplace en même temps que ma vue. Je souhaiterai plutôt qu'elle soit fixe.
  • zoczoc Membre
    12:25 modifié #5
    C'est parce que la manière de procéder n'est pas la bonne : il ne faut pas ajouter une barre de navigation à  une table view, mais plutôt créer un UINavigationController (qui se chargera tout seul de la barre de navigation), et "pusher" dans ce controller un UITableviewController (qui gère la tableview).

  • remoozremooz Membre
    avril 2009 modifié #6
    Ok c'est bon.

    En fait comme mon appliaction est une Navigation-Based application j'avais juste a "pusher" ma tableView lors de l'appui sur un bouton de ma rootView.

    L'inconvénient c'est qu'il ne considère plus ma tableView comme une modalView.
  • zoczoc Membre
    12:25 modifié #7
    Pour les vues modales, il faut utiliser le message "presentModalViewController:animated:" de UIViewController (et par conséquent également disponible dans UINavigationController).

  • remoozremooz Membre
    12:25 modifié #8
    Justement c'est le message que j'ai utilisé. Ma modalView apparaà®t bien mais sans la navigationBar
  • remoozremooz Membre
    12:25 modifié #9
    Ca y est j'ai résolu le problème. Pour ceux que ça intéresse je donne le code.
    AViewController *aViewController=[[AViewController alloc] initWithNibName:@&quot;AView&quot; bundle:nil];<br />	<br />UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:aViewController];<br />	<br />[aViewController release];<br /><br />[self.navigationController presentModalViewController: navController animated:YES];<br />	<br />[navController release];
    


Connectez-vous ou Inscrivez-vous pour répondre.