iphone - QLPreviewController - 设置previewItemTitle

标签 iphone qlpreviewcontroller

我不知道如何为我的 QLPreviewController 类设置 PreviewItemTitle 属性。这似乎有点奇怪,因为此类的 iPhone 开发人员文档说该属性是 @property (readonly) 这意味着我无法设置它。

任何想法。谢谢

我的代码:

QLPreviewController *preview = [[QLPreviewController alloc] init];
    [preview setDataSource:self];

    [self presentModalViewController:preview animated:YES];

最佳答案

QLPreviewController没有previewItemTitle属性。您指的是 QLPreviewItem 协议(protocol)

“只读”意味着您无法通过属性设置它(除非它被覆盖);即该属性未声明 setPreviewItemTitle: 方法。这对于协议(protocol)来说是有意义的: Controller 不希望能够设置预览项目标题。

对于最基本的预览项目,您可以使用如下内容:

@interface BasicPreviewItem : NSObject<QLPreviewItem>
{
}

@property (nonatomic, retain) NSURL * previewItemURL;
@property (nonatomic, copy) NSString* previewItemTitle;

@end

@implementation BasicPreviewItem

@synthesize previewItemURL, previewItemTitle;

-(void)dealloc
{
  self.previewItemURL = nil;
  self.previewItemTitle = nil;
  [super dealloc];
}

@end

但是,该协议(protocol)的要点是您可以采用任何类并添加-(NSURL*)previewItemURL-(NSString*)previewItemTitle 方法(例如,如果您有音乐播放器,您可以将这些方法添加到“Track”类中并能够预览轨道)。

关于iphone - QLPreviewController - 设置previewItemTitle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790014/

相关文章:

ios - Firebase:在 Swift 4 上找不到 FIRUser

ios - 使用 QLPreviewController 或 UIDocumentInteractionController 打开没有扩展名的文件

ios - 在 QLPreviewController 中隐藏右键?

ios - 基于 Web 的 iOS 应用程序有哪些最佳实践?

来自服务器的 iPhone 实时通知,无需使用 Apple 推送通知

iphone - 无法在 iPhone 应用程序中使用 Base64 上传图片

ios - 具有多个 Excel 工作表和文档的 QLPreviewController iOS 6

iOS QLPreviewController 从远程服务器 URL 加载文件

ios - 如何继承 QLPreviewController 并禁用共享按钮?

iphone - Objective-C 稀疏数组 redux