初めて UICollectionView を使用しています。UICollectionViewCell にボタンがあります。ボタンタップイベントでロードされる次のView Controllerにボタンを接続するためにセグエを使用しています。
このボタンは、コレクション ビュー セルのリストの最初のボタンに対してのみ、次のビュー コントローラーを読み込みます。他のボタンについては、タッチ イベントを受信していないようです。
何か案が?
初めて UICollectionView を使用しています。UICollectionViewCell にボタンがあります。ボタンタップイベントでロードされる次のView Controllerにボタンを接続するためにセグエを使用しています。
このボタンは、コレクション ビュー セルのリストの最初のボタンに対してのみ、次のビュー コントローラーを読み込みます。他のボタンについては、タッチ イベントを受信していないようです。
何か案が?
問題の解決策: 複数のプロトタイプ セルを作成して各ボタンの 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;
}
}
}
等