Как показать быстрый просмотр документа в приложении iPad на основе splitview - PullRequest
3 голосов
/ 24 июня 2011

Я должен показать быстрый просмотр документа в detailView приложения, основанного на splitview. В главном представлении у меня есть UITableView со списком всех файлов в папке «Документ» моего приложения.
Я пытаюсь использовать QLPreviewController в DetailViewController следующим образом:

QLPreviewController *previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
previewController.currentPreviewItemIndex = ...;
[[self navigationController] pushViewController:previewController animated:YES];
[previewController release];

Я могу видеть предварительный просмотр документа, но больше не вижу панель инструментов в верхней части подробного вида, а в портретном режиме я застрял навсегда, потому что не могу видеть список файлов в главном представлении.
Я также пытался сделать DetailViewController подклассом QLPreviewController, но безуспешно.

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Я думаю, что вместо того, чтобы вставлять previewController в [self navigationController], вместо того, что вы описали, я полагаю, что вам нужно сделать, это установить previewController в качестве подробного представления вашего UISplitViewController.

Это можно сделать так

[splitViewController setViewControllers:[NSArray arrayWithObjects:masterViewController, previewController, nil]];

Если вы хотите, чтобы панель предварительного просмотра отображалась для элемента previewController, вы можете заключить элемент previewController в UINavigationController, прежде чем установить его в качестве подробного представления в UISplitViewController, например:

UINavigationController *wrapperNavigationController = [[[UINavigationController alloc] initWithRootViewController:previewController] autorelease];
[splitViewController setViewControllers:[NSArray arrayWithObjects:masterViewController, wrapperNavigationController, nil]];

Приветствия

1 голос
/ 03 августа 2011

Попробуйте

[self presentModalViewController:preview animated:YES]; 

вместо

[[self navigationController] pushViewController:previewController animated:YES];
...