2011-06-27 6 views

Répondre

1

Bien que QLPreviewController soit une sous-classe de UIViewController, la modification des éléments de navigation n'a aucun effet. Par exemple, ce code devrait théoriquement fonctionner, mais ne fonctionne pas:

QLPreviewController *previewController = [[QLPreviewController alloc] init]; 
previewController.navigationItem.rightBarButtonItem = 
    [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
          target:self action:@selector(share)]

Vous pouvez cependant ajouter une barre d'outils à un QLPreviewController. Réglez d'abord votre barre d'outils pour afficher lorsque la vue est chargé:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    self.navigationController.toolbarHidden = NO; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    self.navigationController.toolbarHidden = YES; 
} 

Ensuite, définissez vos ToolbarItems du délégué QLPreviewController:

- (id)previewController:(QLPreviewController *)previewController 
       previewItemAtIndex:(NSInteger)idx { 

UIBarButtonItem *testButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Test" 
               style:UIBarButtonItemStylePlain 
               target:self 
               action:@selector(testButtonTapped:)]; 

NSArray *myToolbarItems = [NSArray arrayWithObjects:testButtonItem, nil]; 
previewController.toolbarItems = myToolbarItems; 
[testButtonItem release]; 
}
+2

Cela ne fonctionne pas pour moi sur iOS 6. Lorsque vous activez la barre d'outils le contrôleur d'aperçu affiche simplement la barre d'outils suivante/précédente pour naviguer entre plusieurs documents d'aperçu. La définition des éléments de la barre d'outils n'a aucun effet ... – codingFriend1

Questions connexes