我在集合视图单元格中有一个滚动视图。滚动视图具有自己的类(ClassA),集合视图(ClassB)也是如此。当您点击索引行时,它会展开。甜,工作得很好。唯一的问题是,你必须点击索引行来折叠单元格。由于UIScrollView在单元格中挂出,因此点击它不会使单元格崩溃。所以,我所做的是在滚动视图中创建点击检测。点按检测选择器然后通过通知处理折叠单元格:
A类:
- (void)singleTap:(UITapGestureRecognizer *)gesture {
// Post a notification to collapse
[[NSNotificationCenter defaultCenter] postNotificationName:@"collapseCell" object:nil];
}
B组:
-(void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(deselectItemAtIndexPath:animated:)
name:@"collapseCell" object:nil];
}
错误:' NSInvalidArgumentException',原因:' - [CollectionViewController deselectItemAtIndexPath:animated:]:无法识别的选择器发送到实例0x7caa
答案 0 :(得分:0)
那NSNotification
没有做你认为它正在做的事情。它没有调用或试图调用UICollectionView
的委托方法deselectItemAtIndexPath:animated:
。它实际上在寻找一种不同的方法,但与UICollectionView
委托方法具有相同的签名。
制作测试方法,称之为简单的方法,看看是否能够确认我认为发生了什么。