2009-06-14 9 views
1

J'ai placé une table sur le revers de mon modèle d'application utilitaire. Le modèle met automatiquement une barre de titre avec un bouton Terminé pour revenir à la vue de face.Suppression de la barre de titre de la vue de côté de l'application utilitaire

Lorsque l'une des cellules de la table de gauche est sélectionnée, elle affiche le sélecteur Caméra/Bibliothèque d'images. Mais il laisse la barre de titre en position, masquant partiellement l'interface du sélecteur. Comment puis-je supprimer la barre de titre alors que le sélecteur est actif?

merci

Répondre

2
  1. Ajoutez une sortie à FlipsideViewController.h pour UINavigationBar.
  2. Ouvrez le fichier FlipsideView.xib et connectez la prise.
  3. Lors de l'affichage du sélecteur d'image, définissez la propriété cachée de UINavigationBar sur true.
  4. Lorsque le sélecteur d'images est désactivé, définissez la propriété masquée sur false.
+0

Merci, mais FlipsideView.xib n'a pas de UINavigationBar. La barre est créée par programme dans RootViewController.h, comme suit: UINavigationBar * aNavigationBar = [[UINavigationBar alloc] initWithFrame: CGRectMake (0.0, 0.0, 320.0, 44.0)]; aNavigationBar.barStyle = UIBarStyleBlackTranslucent; self.flipsideNavigationBar = aNavigationBar; [version de navigation aNavigationBar]; – cannyboy

+0

^Je veux dire RootViewController.m – cannyboy

+0

Ah, vous devez utiliser un modèle plus ancien (une nouvelle application utilitaire n'a pas RootViewController). Eh bien, le même principe s'applique - mis masqué à vrai lors de l'affichage du sélecteur, définissez-le à false lorsque vous cachez le sélecteur. Vous pouvez avoir besoin d'une variable d'instance pour pointer vers le RootViewController. – NilObject

0

Je vais complètement en rond ici. Il y a évidemment quelque chose de fondamental je ne comprends pas ...

Dans mon RootViewController, pour charger le FlipsideView:

FlipsideViewController *viewController = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil]; 
self.flipsideViewController = viewController; 

[viewController release]; 


// Set up the navigation bar 
UINavigationBar *aNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)]; 
aNavigationBar.barStyle = UIBarStyleBlackTranslucent; 
self.flipsideNavigationBar = aNavigationBar; 
[aNavigationBar release]; 

UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(toggleView)]; 
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"App Title"]; 
navigationItem.rightBarButtonItem = buttonItem; 
[flipsideNavigationBar pushNavigationItem:navigationItem animated:NO]; 
[navigationItem release]; 
[buttonItem release]; 

Pendant ce temps, dans mon FlipViewController, cela montre le sélecteur d'image:

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

// THIS IS NOT WORKING 
[self.navigationController.navigationBar setHidden:YES]; 

[self presentModalViewController:picker animated:YES]; 
[picker release]; 

J'ai commenté le peu que je pensais supprimer la barre de navigation.

0

A l'intérieur du bloc d'animation où vous effectuez la UIViewTransitionAnimationFlipFromLeft (ou UIViewTransitionAnimationFlipFromRight), ajouter la suppression de la barre de navigation:

[flipsideNavigationBar removeFromSuperView];

+0

Il n'y a pas de bloc d'animation avec UIViewTransitionAnimationFlipFromLeft – cannyboy

+0

ou UIViewTransitionAnimationFlipFromRight. Comment «renversez-vous» vos opinions? Vous devez utiliser un bloc d'animation avec une UIViewAnimationTransition, c'est la seule façon supportée. –

+0

Vous avez raison, il utilise UIViewAnimationTransitionFlipFromLeft. Cependant, ce n'est pas le problème. Le problème consiste à supprimer la barre de titre lorsque le sélecteur est utilisé. Le retournement est dans RootViewController. Je dois enlever la barre de titre de FlipsideViewController. – cannyboy

Questions connexes