我有一个以编程方式创建的CollectionView,现在我想通过选择其中一个Cell来切换到另一个CollectionView。到目前为止,我的代码是什么,但没有任何反应:
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath*)indexPath{
NSLog(@"Cell selected");
DetailCell *detailCell = [[DetailCell alloc] init];
[self.navigationController pushViewController:detailCell animated:YES];
}
控制台说“已选中单元格”,因此CollectionView会识别我的触摸,但应用程序不会切换到其他视图。我已经使用自定义类“DetailCell”创建了一个ViewController。
答案 0 :(得分:0)
我会检查并确保你的self.navigationController不是nil。
答案 1 :(得分:0)
我刚刚解决了这个问题:
mainView .m
cView = [[CollectionView alloc]init];
cView.view.frame = CGRectMake(0, 0, 320, 436);
cView.nav = self.navigationController;
[_contentScrollView addSubview:cView.view];
CollectionView.h
@property (nonatomic,weak) UINavigationController *nav;
CollectionView.m
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath*)indexPath{
DetailCell *detailCell = [[DetailCell alloc] initWithDetails:_pageCategorie and: indexPath];
[_nav pushViewController:detailCell animated:YES];
}