我有一个自定义的UITableViewCell,它有一个带有许多collectionViewCells的CollectionView。
当我点击每个CollectionViewCell时Xcode崩溃。
此代码位于CustomTableViewCell.m文件中
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
JTSImageInfo *imageInfo = [[JTSImageInfo alloc] init];
imageInfo.imageURL = [[NSURL alloc] initFileURLWithPath:[self.fullSizeImagePath objectAtIndex:indexPath.item]];
imageInfo.referenceRect = self.superview.frame;
imageInfo.referenceView = self.superview;
// Setup view controller
JTSImageViewController *imageViewer = [[JTSImageViewController alloc]
initWithImageInfo:imageInfo
mode:JTSImageViewControllerMode_Image
backgroundStyle:JTSImageViewControllerBackgroundOption_Scaled];
// Present the view controller.
[imageViewer showFromViewController:self transition:JTSImageViewControllerTransition_FromOriginalPosition];
imageViewer = nil;
}
showFromViewController行崩溃。
么?
答案 0 :(得分:0)
您的tableviewcell似乎是collectionviews委托/数据源。这通常不是一个好主意,所以每次在table中嵌入table / collectionviews时,管理外部集合的viewcontroller应该是两者的委托/数据源。这样你的viewcontroller实现了didSelectItemAtIndexPath,并且可以呈现另一个VC
答案 1 :(得分:0)
您可以在tableViewCell中添加CollectionViewController而不是CollectionView,这样您就可以呈现模态,并且您的单元格不会直接处理数据源/委托。