Watchtower 1.0.1

Watchtower 1.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 Apache 2
发布上次发布2014年12月

Roman Roan维护。



  • 作者:
  • Sash Zats, Ilter Cengiz, Alejandro Martinez和Roman Roan

什么,原因

这是一个基于QLPreviewController的简单扩展,允许显示远程文件。

我创建它的主要原因是因为QLPreviewItem指出previewItemURL必须是一个文件类型的URL(仅限本地文件)。

安装

$ cd your_project
$ git submodule add [email protected]:zats/watchtower.git Vendor/Watchtower
$ cd Vendor/Watchtower
$ git submodule update --init --recursive
  • 将所有Watchtower文件夹添加到您的项目中
  • QuickLook.framework添加到您的目标中
  • 可选:如果您在项目中不使用AFNetworking,请确保您已添加了来自Vendor/AFNetworking文件夹的文件

用法

#import "AZAPreviewController.h"

就是这样,其余的都与QLPreviewController完全相同,只需在QLPreviewItem实例中将远程URL指定为本地URL。

有关更多详细信息,请参阅附带的项目。

注意

AZAPreviewItem简单地提供了QLPreviewItem协议的默认实现,使previewItemURLpreviewItemTitle参数可写。

如果您希望在远程项目加载失败时获得通知,您必须实现AZAPreviewControllerDelegate对应的协议方法

- (void)AZA_previewController:(AZAPreviewController *)controller failedToLoadRemotePreviewItem:(id<QLPreviewItem>)previewItem withError:(NSError *)error
{
    NSString *alertTitle = [NSString stringWithFormat:@"Failed to load file %@", previewItem.previewItemURL];
    NSString *alertMessage = [error localizedDescription];
    [[[UIAlertView alloc] initWithTitle:alertTitle
                                message:alertMessage
                               delegate:nil
                      cancelButtonTitle:@"OK"
                      otherButtonTitles:nil] show];
}

待办事项

目前,如果滑动手势没有完成并且下一个项目没有完成加载,它可能会永远保持加载状态,非常感谢帮助