QLPreviewController - Установка PreviewiteMtitle
-
05-10-2019 - |
Вопрос
Я не могу выбрать, как установить свойство PreviewiteMtitle для моего класса QLPreviewController. Это кажется немного странным, поскольку документ разработчика 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
Методы (например, если у вас был музыкальный проигрыватель, вы можете добавить эти методы в классе «Track» и сможете предварительно просмотреть дорожки).