Rit*_*ika 5 download image-gallery nsurlconnection ios qlpreviewcontroller
从QLPreviewController上的远程服务器加载文件时应使用什么方法?我们何时应该使用服务器API下载文件以将其加载到QLPreviewController上。我将QLPreviewController作为子视图添加到当前视图。我可以使用数据源方法来调用从服务器下载文件。
- (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
Run Code Online (Sandbox Code Playgroud)
但是,一旦文件下载完毕,我需要重新加载QLPreviewController,该操作应在此处完成。对于图像,我想查看图库视图,以便滑动查看从服务器下载的图像。谁能指出我的任何教程来从远程服务器URL加载图像
要显示任何支持 的文件QLPreviewController,url 应该是 fileURL。
(id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
Run Code Online (Sandbox Code Playgroud)
它总是返回fileURL- 如果您使用任何其他 URL,它将崩溃。下载完成后将文件保存在文档目录中,然后推送预览。
- (void)saveFileInDocDirectoryWithFileName:(NSString *)title{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docPath_ = [paths objectAtIndex:0];
NSString *filePath = [ docPath_ stringByAppendingPathComponent:title];
self.fileURL = [NSURL fileURLWithPath:filePath];
[self pushToPreViewWithURL:fileURL];
}
- (void)pushToPreViewWithURL:(NSURL *)filePathURL{
QLPreviewController *previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
// start previewing the document at the current section index
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self.navigationController pushViewController:previewController animated:YES];
}];
}
Run Code Online (Sandbox Code Playgroud)
然后在委托方法中,返回fileURL:
- (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx {
return self.fileURL;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4975 次 |
| 最近记录: |