我正在尝试将UICollectionview放在一个不断扩展的uitableviewcell中,但我一直在收到错误。 collectionview也假设拍照并将它们存储在collectionview中。我用了这段代码:
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath (NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"myCell";
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
[cell addTarget:self action:@selector(uploadPicture:) forControlEvents:UIControlEventTouchUpInside];
return cell;
}
- (void)uploadPicture:(id)sender
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:picker animated:YES completion:NULL];
}
我得到的错误是“UICollectionViewCell没有可见的@interface声明第4行的selelctor addTarget:action:forControlEvents”和第5行“void方法不应返回值”和第11行“ExpandingCell没有可见的@interface”声明选择器presentViewController:animated:completion“
我现在绝望地寻求帮助。如果你能提供帮助,请提前感谢你。
答案 0 :(得分:0)
这里有很多问题。 第4行 - 您在didSelectItemAtIndexPath方法中,因此您知道用户已经触摸过该单元格。您不需要连接目标操作。删除此行并直接调用uploadPicture :. 第5行 - didSelectItemAtIndexPath是一个void方法,因此您不应该尝试返回单元格。删除此行。 第11行 - 错误表示您的uploadPicture方法不在视图控制器中。因此它无法呈现视图控制器。您需要将此方法移动到视图控制器或重构代码,以便从视图控制器中显示。
答案 1 :(得分:0)
您希望实现以下目标:
如果这个假设是正确的,你必须:
希望这有帮助。