QLPreviewController
サブビューを追加する次のコードがあります
{
QLPreviewController *preview = [[QLPreviewController alloc] init];
preview.delegate = self;
preview.dataSource = self;
[self addChildViewController:preview];
[self.view addSubview:preview.view];
[preview didMoveToParentViewController:self];
self.previewController = preview;
}
-(NSInteger) numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
return 1;
}
-(id) previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)index
{
return self.url;
}
self.url
はNSURL that
NSTemporaryDirectory にあります - file://localhost//.../blah.pdf
私の問題は、ラップトップがインターネットに接続されている場合、ドキュメントがサブビューとして表示されますが、ラップトップが接続されていない場合、呼び出されないことですnumberOfPreviewItemsInPreviewController
。previewItemAtIndex
- シンプルなView Controllerでバニラプログラムを試してみましたが、うまくいくようです。(私のアプリはそれよりも複雑です)。
- ドキュメントをモーダル ビューとして表示しようとすると、シミュレーターがインターネットに接続されているかどうかに関係なく動作するようです。
[self presentViewController:preview animated:NO completion:nil];
--> 一貫して動作します。
サブビューをオンライン モードとオフライン モードで動作させる必要があります。誰かが助けてくれると助かります!