Как добавить UIBarButtonItem в QLPreviewController - PullRequest
0 голосов
/ 13 января 2012

Я уже читал этот вопрос QLPreviewController удаляет или добавляет UIBarButtonItems , но это не то, что я ищу. Я бы хотел сохранить кнопку «Печать» на панели навигации, но также добавить новую кнопку «Удалить документ» на панели навигации.

Я пробовал это:

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];

Но это не сработало.

Ответы [ 2 ]

0 голосов
/ 15 мая 2013
    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];

}
0 голосов
/ 13 января 2012

Поскольку вы сказали, что "4.х будет хорошо", вот ваша проблема.

В документации для UINavigationItem [setRightBarButtonItems: animated:] (документация для вас там указана) говорится, что эта функция работает только на iOS 5.0 и новее.

Он будет не работать на iOS 4.0.

Также к этому вызову setRightBarButtonItems: следует добавить параметр animated:.

...