我想从一个网站上获取缩略图,以便将其粘贴到我的自定义UIViewController中,用于共享扩展。我知道SLComposeServiceViewController可以免费完成此操作,但我必须制作一个定制的视图控制器。是否有任何现有的API可以实现这一点?
谢谢。
我想从一个网站上获取缩略图,以便将其粘贴到我的自定义UIViewController中,用于共享扩展。我知道SLComposeServiceViewController可以免费完成此操作,但我必须制作一个定制的视图控制器。是否有任何现有的API可以实现这一点?
谢谢。
我也在自定义 SLComposeServiceViewController
中遇到了限制,不得不创建自己的预览。基本方法如下:
for (NSExtensionItem *item in self.extensionContext.inputItems)
{
for (NSItemProvider *itemProvider in item.attachments)
{
//kUTTypeVCard, kUTTypeURL, kUTTypeImage, kUTTypeQuickTimeMovie
NSString *typeIdentifier = (__bridge NSString *)kUTTypeImage;
if ([itemProvider hasItemConformingToTypeIdentifier:typeIdentifier])
{
[itemProvider loadPreviewImageWithOptions:nil completionHandler:^(UIImage *image, NSError *error)
{
if (image)
{
//Use image
}
}];
}
}
}
请注意,
- (void)loadPreviewImageWithOptions:(NSDictionary *)options completionHandler:(NSItemProviderCompletionHandler)completionHandler
尝试使用以下代码从文件URL获取缩略图:
NSURL *path = self.url;
NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:(NSString *)kQLThumbnailOptionIconModeKey];
CGImageRef ref = QLThumbnailImageCreate(kCFAllocatorDefault, (__bridge CFURLRef)path, CGSizeMake(600, 800 /* Or whatever size you want */), (__bridge CFDictionaryRef)options);
NSImage *thunbnail = [[NSImage alloc]initWithCGImage:ref size:NSZeroSize];