我无法弄清楚如何为我的QLPreviewController类设置previewItemTitle属性。它似乎有点奇怪,因为这个类的iPhone开发人员文档说该属性是@property (readonly)
,这意味着我无法设置它。
任何想法。感谢
我的代码:
QLPreviewController *preview = [[QLPreviewController alloc] init];
[preview setDataSource:self];
[self presentModalViewController:preview animated:YES];
答案 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”类并能够预览曲目。)