как добавить кнопку в QLPreviewController - PullRequest
2 голосов
/ 27 июня 2011

Можно ли добавить новую кнопку в панель инструментов или в actionButton в правой верхней части QLpreviewController?

Если да, как я пишу код?

1 Ответ

1 голос
/ 21 июля 2011

Хотя QLPreviewController является подклассом UIViewController, изменение элементов навигации не имеет никакого эффекта.Например, этот код теоретически должен работать, но не работает:

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

Однако вы можете добавить панель инструментов в QLPreviewController.Сначала настройте панель инструментов так, чтобы она отображалась при загрузке представления:

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

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

Затем установите элементы панели инструментов из делегата 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];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...