QLPreviewController - 设置previewItemTitle

时间:2010-09-24 18:46:48

标签: iphone qlpreviewcontroller

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

任何想法。感谢

我的代码:

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

    [self presentModalViewController:preview animated:YES];

1 个答案:

答案 0 :(得分:16)

QLPreviewController没有previewItemTitle属性。您的意思是QLPreviewItem 协议

“Readonly”表示您无法通过属性设置(除非它被覆盖);即该属性未声明setPreviewItemTitle:方法。这对协议有意义:控制器不希望能够设置预览项目标题。

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

@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

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