gpt4 book ai didi

ios - 在 uicollectionview 中选择时如何让 Quicklook 在索引处加载图像

转载 作者:行者123 更新时间:2023-11-29 03:23:11 27 4
gpt4 key购买 nike

我有一个 uicollectionsview

当我从那里选择我的图像时,我希望它显示在 Quicklook 中我想我得到它来选择文件探测器但显示它使应用程序崩溃并显示此消息:

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSURL 长度]:无法识别的选择器发送到实例 0xb7be9c0”

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didselect");
QLPreviewController * preview = [[QLPreviewController alloc] init];
preview.dataSource = self;
preview.currentPreviewItemIndex = indexPath.row;
[self presentViewController:preview animated:YES completion:Nil];
}

#pragma mark -
#pragma mark QLPreviewControllerDelegate methods


- (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item {

return YES;
}


#pragma mark -
#pragma mark QLPreviewControllerDataSource methods
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller {

return [photoURLsLargeImage count];
}

我认为这是我的问题所在:

- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index {
NSString *entry = [photoURLsLargeImage objectAtIndex:index];
return [NSURL fileURLWithPath:entry];
}

photoURLsLargeImage 是一个 nsmutablearray,至少有 17 个从 flickr 中获取的对象

最佳答案

添加数据源

preview.dataSource = self;

并添加委托(delegate)方法。

- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
return 1;
}

您的问题已解决。

关于ios - 在 uicollectionview 中选择时如何让 Quicklook 在索引处加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20813081/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com