【问题标题】:how to get Quicklook to load image at index when selected in uicollectionview在uicollectionview中选择时如何让Quicklook在索引处加载图像
【发布时间】:2013-12-28 09:43:06
【问题描述】:

我有一个 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 获取的对象

【问题讨论】:

    标签: ios objective-c uicollectionview quicklook


    【解决方案1】:

    添加数据源

    preview.dataSource = self;
    

    并添加委托方法。

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

    你的问题解决了。

    【讨论】:

      【解决方案2】:

      你应该使用这个currentPreviewItemIndex

      预览项目导航列表中当前显示在快速查看预览控制器中的项目的索引。您可以通过设置此属性的值来更改在导航列表中显示的项目。如果没有显示任何项目,则此属性的值为 NSNotFound。

      Apple Doc

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-25
        • 1970-01-01
        • 1970-01-01
        • 2018-12-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多