質問

QLPREVIEWCONTROLLERクラスにPreviewItemTitleプロパティを設定する方法を説明できません。このクラスのiPhone開発者ドキュメントは、そのプロパティは @property (readonly) それは私がそれを設定できないことを意味します。

何か案は。ありがとう

私のコード:

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

    [self presentModalViewController:preview animated:YES];
役に立ちましたか?

解決

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 方法(たとえば、音楽プレーヤーがいる場合、これらのメソッドを「トラック」クラスに追加し、トラックをプレビューできるようにすることができます)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top