Comment ajouter UIBarButtonItem à QLPreviewController
-
28-10-2019 - |
Question
Je lis déjà cette question QLPreviewController supprimer ou ajouter des UIBarButtonItems mais ce n'est pas ce que je « m chercher. Je voudrais maintenir le bouton "Imprimer" dans la barre de navigation, mais ajouter un nouveau "document Supprimer" dans la barre de navigation.
J'ai essayé ceci:
QLPreviewController *previewer = [[[QLPreviewController alloc] init] autorelease];
[previewer setDataSource:self];
UIBarButtonItem *saveButton = [[UIBarButtonItem alloc]initWithTitle:@"Salva Documento" style:UIBarButtonItemStyleBordered target:self action:@selector(saveFileToDocuments)];
NSArray *buttons = [NSArray arrayWithObjects:[[previewer navigationItem]rightBarButtonItem],saveButton, nil];
[[previewer navigationItem]setRightBarButtonItems:buttons];
Mais ça n'a pas marché.
La solution
Parce que vous avez dit « 4.x sera bien », il y a votre problème.
La documentation UINavigationItem
[setRightBarButtonItems: animated:]
(documentatin lié là pour vous) dire que cette fonction ne fonctionne que sur iOS 5.0 et plus récent.
Il sera pas le travail sur iOS 4.0.
En outre, vous devez ajouter un paramètre animated:
à cet appel setRightBarButtonItems:
.
Autres conseils
UIBarButtonItem *rbb;
-(void)addRightButton{
if (!rbb) {
UIButton *orderButton = [UIButton buttonWithType:UIButtonTypeCustom];
orderButton.frame = CGRectZero;
rbb = [[UIBarButtonItem alloc] initWithCustomView:orderButton];
}
self.navigationItem.rightBarButtonItem = rbb;
}
- (void)viewDidLoad{
[super viewDidLoad];
[self performSelector:@selector(addRightButton) withObject:nil afterDelay:0.2];
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[self addRightButton];
}