QLPreviewController - impostazione previewItemTitle
-
05-10-2019 - |
Domanda
Non riesco a capire come impostare la proprietà previewItemTitle per la mia classe QLPreviewController. La sua sembra un po 'strano come il documento sviluppatore iPhone per questa classe dice che che la proprietà è @property (readonly)
il che significherebbe che non riesco a impostare.
Tutte le idee. Grazie
Il mio codice:
QLPreviewController *preview = [[QLPreviewController alloc] init];
[preview setDataSource:self];
[self presentModalViewController:preview animated:YES];
Soluzione
QLPreviewController non ha alcuna proprietà previewItemTitle. Vuoi dire che il QLPreviewItem protocollo .
significa "readonly", che non è possibile impostare tramite la proprietà (meno che non sia sovrascritto); cioè la proprietà non dichiara un metodo setPreviewItemTitle:
. Questo ha senso per il protocollo:. Il controller non si aspetta di essere in grado di impostare i titoli anteprima voce
Per la maggior voce di anteprima di base, si potrebbe usare qualcosa di simile:
@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
Tuttavia, il punto del protocollo è così che si può prendere qualsiasi metodi di classe e aggiungere -(NSURL*)previewItemURL
e -(NSString*)previewItemTitle
(ad esempio, se si ha un lettore di musica, è possibile aggiungere questi metodi al "Track" classe e di essere in grado di tracce in anteprima).