QLPreviewController - Cadre previewItemTitle
-
05-10-2019 - |
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];
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).