3

初めて UICollectionView を使用しています。UICollectionViewCell にボタンがあります。ボタンタップイベントでロードされる次のView Controllerにボタンを接続するためにセグエを使用しています。

このボタンは、コレクション ビュー セルのリストの最初のボタンに対してのみ、次のビュー コントローラーを読み込みます。他のボタンについては、タッチ イベントを受信して​​いないようです。

何か案が?

4

1 に答える 1

0

問題の解決策: 複数のプロトタイプ セルを作成して各ボタンの IBAction を接続するか、セルの作成時にボタン アクションを登録します。これを行う 1 つの方法は、メソッドでボタンを取得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 に答える