2015-01-08 2 views
0

У меня есть вид прокрутки, внутри ячейки коллекции. Вид прокрутки имеет собственный класс (ClassA), также как и представление коллекции (ClassB). Когда вы нажимаете на строку индекса, она расширяется. Сладкий, прекрасно работает. Проблема только в том, что вы должны нажать на строку индекса, чтобы свернуть ячейку. Поскольку в ячейке висит UIScrollView, нажатие на нее не приведет к краху ячейки. Итак, что я сделал, это создать обнаружение отвода в прокрутке. Избиратель обнаружений затем обрабатывает разрушаясь ячейку с помощью уведомлений:Collapsing A Collection View Cell

Класс 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: анимированный:]: непризнанный селектор отправлен в пример 0x7caa

ответ

0

Это NSNotification не делает, что вы думаете, что он делает. Это не вызов или попытка вызова метода делегата UICollectionView, deselectItemAtIndexPath:animated:. Фактически он ищет другой метод, но с той же подписью, что и метод делегата UICollectionView.

Сделайте тестовый метод, назовите его чем-то простым и посмотрите, работает ли это, чтобы подтвердить, что я думаю, что происходит.

+0

Интересное ... Создание метода тестирования сейчас. – John

+0

Да, он просто вызвал мой метод тестирования. Как я могу заставить его вызвать метод делегирования моего коллекционного представления? – John

+0

В методе тестирования вызовите метод делегирования коллекций? – Tander

Смежные вопросы