从IOS4.0后,apple推出新的文件预览控件:QLPreveiewController,已经支持pdf文件阅读。
用法:
1.实现QLPreviewControllerDataSource
#import <Foundation/Foundation.h>
#import <QuickLook/QuickLook.h>
@interface PreviewDataSource : NSObject<QLPreviewControllerDataSource> {
NSString *path;
}
@property (nonatomic, assign) NSString *path;
@end
#import "PreviewDataSource.h"
@implementation PreviewDataSource
@synthesize path;
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller
{
return 1;
}
- (id <QLPreviewItem>)previewController: (QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
{
return [NSURL fileURLWithPath:path];
}
- (void)dealloc {
[path release];
[super dealloc];
}
@end
2.调用方法:
QLPreviewController *previewoCntroller = [[[QLPreviewController alloc] init] autorelease];
PreviewDataSource *dataSource = [[[PreviewDataSource alloc]init] autorelease];
dataSource.path=[[NSString alloc] initWithString:appFile];
previewoCntroller.dataSource=dataSource;
[app.nav pushViewController: previewoCntroller animated:YES];
[previewoCntroller setTitle:fileName];
previewoCntroller.navigationItem.rightBarButtonItem=nil;
分享到:
相关推荐
显示QLPreviewController用法的简单示例项目 这个项目展示了如何使用QLPreviewController来预览各种文件,如 PDF、图像、Word 文档等。 它展示了如何创建自定义QLPreviewItem ,如何配置QLPreviewController显示多个...
这篇博客文章可能详细探讨了如何使用QLPreviewController来实现各种显示效果。 在iOS开发中,QLPreviewController可以非常方便地集成到项目中,通过简单的API调用来设置预览的文件源。它可以是单个文件,也可以是一...
4. **呈现预览**:将 `QLPreviewController` 作为导航栈的一部分推入,或者使用 `present(_:animated:completion:)` 方法模态展示。 ### 对比与选择 `UIDocumentInteractionController` 更轻量级,适合简单的预览...
- 确保Excel文件已包含在应用的资源包中,或者可以从网络下载到临时路径并使用。 - 文件的安全性很重要,不要随意暴露用户的数据。 - 如果文件过大,可能会影响预览性能,考虑优化加载策略。 通过以上步骤,你...
本篇文章将深入探讨如何使用Swift和QLPreviewController来实现iOS中的文件预览功能。 QLPreviewController是QuickLook框架的一部分,它允许用户在不离开应用的情况下查看文件内容,极大地提升了用户体验。Swift...
本压缩包“ios-文档显示的三种方法.zip”提供了三种不同的解决方案:UIWebView、UIDocumentInteractionController和QLPreviewController。下面将详细介绍这三种方式。 1. UIWebView UIWebView是iOS早期用于在应用...
在这个协议中,你需要定义两个方法: - `numberOfPreviewItems(in:)`:返回你要预览的文件数量。 - `previewController(_:numberOfPreviewItem:)`:返回每个文件的索引和对应的URL。 例如: ```swift class ...
3. **代理方法**:作为QLPreviewController的代理,你需要实现`- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller`和`- (id)previewController:(QLPreviewController *)...
这个压缩包提供了一系列源码示例,主要针对PDF的加载,使用了不同的技术,包括`ZPDFReaderController`、`UIDocumentInteractionController`、`QLPreviewController`、`WKWebView`。下面我们将详细探讨这些技术及其...
这里,`dataSource`属性需要设置为遵循`QLPreviewControllerDataSource`协议的类,该类需要实现两个方法:`numberOfPreviewItems(in:)`和`previewController(_:previewItemAtIndex:)`。前者返回预览文件的数量,后者...
再者,`打开`文件涉及使用`UIDocumentInteractionController`或`QLPreviewController`等工具。`UIDocumentInteractionController`允许用户预览、分享或用其他应用程序打开文件,而`QLPreviewController`则提供了一个...
4. **使用QLPreviewController**:创建一个`QLPreviewController`实例,并实现`QLPreviewControllerDataSource`协议,提供预览文件的列表。在用户点击预览按钮时,通过`PresentViewController`方法展示预览界面。 5...
在实际项目中,你可能还需要处理URLSchemes,例如使用`UIDocumentInteractionController`来打开或分享文件,或者利用`QLPreviewController`来预览文档。对于更复杂的数据存储,如JSON、SQLite数据库或Core Data,iOS...
如果你希望在你的应用内提供文件预览功能,可以使用`QLPreviewController`,它是iOS提供的快速查看控制器,可以预览多种类型的文件。 5. **使用Document Interaction Controller (UIDocumentInteractionController...
5. **展示预览**:如果需要,可以使用`UIWebView`或`QLPreviewController`预览生成的PDF。 **示例代码** ```swift import TPPDF let pdf = TPPDF() pdf.pageSize = CGSize(width: 612, height: 792) // Letter ...
首先,我们可以使用UIWebView来加载PDF文件,这种方法简单快捷,但自定义程度不高。另一种是QLPreviewController,它提供了更多的功能,如多文件切换和原生分享,但同样限制了界面定制。 更高级且灵活的方法是利用...