Как добавить пользовательскую кнопку на панель инструментов Quick Look в iOS? - PullRequest
2 голосов
/ 01 апреля 2011

В настоящее время я отображаю PDF-файл с помощью платформы Quick Look на iPad через Modal View Controller. Работает отлично. Моя проблема в том, что, поскольку я отображаю PDF-файл, в предварительном просмотре Quick Look автоматически добавляется кнопка «Печать». То, что я хотел бы сделать, это заменить кнопку «Печать» пользовательской кнопкой «Электронная почта». Это то, что можно сделать? При первом проходе я подумал, что это будет довольно тривиально, но сейчас я действительно борюсь с этим. Любая помощь будет принята с благодарностью.

Спасибо

Brett

Ответы [ 2 ]

1 голос
/ 15 марта 2012

вы можете создать подкласс QLPreviewController, например MyQLPreviewController

Затем в viewWillAppear: (BOOL) анимированный (ВАЖНО !!)

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    UIBarButtonItem *rightRatain = self.navigationItem.rightBarButtonItem;
    UIBarButtonItem *email = ...;

    self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:right, email, nil];
    [email release];
}
1 голос
/ 01 апреля 2011

Поскольку QLPreviewController является подклассом UIViewController, вы можете воспользоваться - [UIViewController setToolbarItems:] для настройки панели инструментов.

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(emailPDF)]; 
NSArray *items = [NSArray arrayWithObject:item];
[previewController setToolbarItems:items animated:NO];   
[[self navigationController] presentModalViewController:previewController animated:YES];

Теперь, когда пользователь нажимает значок «ответить» на панели инструментов, будет вызвана ваша реализация -emailPDF.

...