Question

Je ne peux pas déterminer comment définir la propriété previewItemTitle pour ma classe QLPreviewController. Son semble un peu étrange que le document de développeur iPhone pour cette classe dit que cette propriété est @property (readonly) ce qui voudrait dire que je ne peux pas le définir.

Toutes les idées. Merci

Mon code:

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

    [self presentModalViewController:preview animated:YES];
Était-ce utile?

La solution

QLPreviewController n'a pas de propriété previewItemTitle. Vous voulez dire que le QLPreviewItem protocole .

« statiques » signifie que vous ne pouvez pas définir ce via la propriété (sauf si elle est surchargée); à-dire la propriété ne déclare pas une méthode de setPreviewItemTitle:. Cela est logique pour le protocole:. Le contrôleur ne prévoit pas être en mesure de définir les titres de l'élément de prévisualisation

Pour le plus élément de prévisualisation de base, vous pouvez utiliser quelque chose comme ceci:

@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

Cependant, le point du protocole est que vous pouvez prendre tous méthodes de classe et -(NSURL*)previewItemURL add et -(NSString*)previewItemTitle (par exemple si vous avez un lecteur de musique, vous pouvez ajouter ces méthodes à la « piste » classe et être en mesure de pistes de prévisualisation).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top