QLPreviewController の使用に少し問題があります。実際、アプリケーションで PDF を表示する必要があり、UINavigationController アプリケーションでコントローラーをプッシュすると、このクラスは正常に動作します。このために、このチュートリアルを使用します: ( http://iosdevelopertips.com/data-file-management/preview-documents-with-qlpreviewcontroller.html )。
問題は、PDF に付随するビューの下部に UIToolbar が必要なことです。そこで、UIToolBar と QLPreviewController を使用して新しいコントローラーを作成しましたが、QLPreviewController が表示されません。QLPreviewController のビューのビューは白のままです。
これは初期化コードであり、コントローラーをビューに追加します。
PdfReaderViewController = [[QLPreviewController alloc] init];
[PdfReaderViewController setDataSource:self];
[PdfReaderViewController setDelegate:self];
[PdfReaderViewController.view setFrame:myViewForPdfReader.frame];
[PdfReaderViewController setCurrentPreviewItemIndex:sollIndex];
vuePourLecteurPDF = PdfReaderViewController.view;
[PdfReaderViewController reloadData];
2つの方法のうちの1つに気づきました...:
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index;
reloadData 時に QLPreviewControllerDataSource の 2 番目は正の整数を返します。
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller;
問題がわかりません。UINavigationController で QLPreviewController をプッシュしてテストしたため、両方の方法が正しいことしかわかりません。
私はいくつかの投稿を読みました:
QLPreviewController をサブビューとして追加しても PDF が読み込まれない
iOS アプリケーションの空白の QLPreviewController
...しかし、これは私を助けません