折叠集合视图单元格

时间:2015-01-08 17:41:27

标签: objective-c uiscrollview uicollectionview

我在集合视图单元格中有一个滚动视图。滚动视图具有自己的类(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

1 个答案:

答案 0 :(得分:0)

NSNotification没有做你认为它正在做的事情。它没有调用或试图调用UICollectionView的委托方法deselectItemAtIndexPath:animated:。它实际上在寻找一种不同的方法,但与UICollectionView委托方法具有相同的签名。

制作测试方法,称之为简单的方法,看看是否能够确认我认为发生了什么。