Кнопка в UICollectionViewCell не работает

Я использую UICollectionView впервые. У меня есть кнопка в моем UICollectionViewCell. Я использую переходы для подключения кнопки к следующему контроллеру представления, который будет загружен при нажатии кнопки.

Кнопка загружает следующий контроллер представления только для первой кнопки в списке ячеек представления коллекции. Для других кнопок кажется, что он не получает событие касания.

Есть идеи?


person Pravara Patil    schedule 24.10.2012    source источник
comment
можете поделиться кодом??   -  person Nitesh    schedule 20.03.2013


Ответы (1)


Решение вашей проблемы: либо создайте несколько ячеек-прототипов и подключите IBAction каждой кнопки, либо зарегистрируйте действие кнопки при создании ячейки. Один из способов сделать это — взять кнопку в вашем методе cellForItemAtIndexPath: и сделать следующее:

for (UIView *view in [cell.contentView subviews]) {
        if ([view isKindOfClass:[UIButton class]]) {
            switch (indexPath.item) {
                case 0:
                    UIButton *myButton = (UIButton *)view;
                    [myButton addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];
                    break;
                case 1:
                    UIButton *myOtherButton = (UIButton *)view;
                    [myOtherButton addTarget:self action:@selector(myOtherAction:) forControlEvents:UIControlEventTouchUpInside];
                    break;
                default:
                    break;
            }
        }
    }

и т.п.

person AMayes    schedule 26.03.2013
comment
Спасибо. Я дам ему попробовать. - person Pravara Patil; 26.03.2013