3

我第一次使用 UICollectionView。我的 UICollectionViewCell 中有一个按钮。我正在使用 segues 将按钮与下一个视图控制器连接起来,以便在按钮点击事件上加载。

该按钮仅为集合视图单元列表中的第一个按钮加载下一个视图控制器。对于其他按钮,它似乎没有接收到触摸事件。

任何想法?

4

1 回答 1

0

您的问题的解决方案:创建多个原型单元并连接每个按钮的 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;
            }
        }
    }

等等

于 2013-03-26T15:49:02.863 回答