Frage

Ich kann nicht arbeiten, wie die previewItemTitle Eigenschaft setzen für meine QLPreviewController Klasse. Sein scheint ein wenig seltsam, wie das iPhone Entwickler-Dokument für diese Klasse sagt, dass diese Eigenschaft @property (readonly) ist was bedeuten würde, dass ich es nicht festlegen.

Alle Ideen. Dank

Mein Code:

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

    [self presentModalViewController:preview animated:YES];
War es hilfreich?

Lösung

QLPreviewController hat keine previewItemTitle Eigenschaft. Sie meinen die QLPreviewItem Protokoll .

„Read-only“ bedeutet, dass Sie es nicht festlegen über die Eigenschaft (es sei denn, es wird außer Kraft gesetzt); das heißt, die Eigenschaft keine setPreviewItemTitle: Methode deklarieren. Dies macht Sinn, für das Protokoll:. Die Steuerung erwartet nicht in der Lage sein, die Vorschau Artikel Titel auf

Für die grundlegendsten Vorschau Artikel, Sie so etwas wie diese verwenden:

@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

Allerdings ist der Punkt des Protokolls, so dass Sie nehmen können alle Klasse und Add -(NSURL*)previewItemURL und -(NSString*)previewItemTitle Methoden (zB wenn Sie einen Musik-Player haben, konnte man diese Methoden zum „Track“ hinzufügen Klasse und zur Vorschau Tracks können).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top