3

したがって、View Controller 内にある uicollectionview があり、この VC にはいくつかのボタンやその他のコントロールがあり、CollectionView にデータをロードします。CollectionView のクリックを検出できませんが、スクロールには正常に応答します。私が考えることができるのは、ビュー内のすべてのサブビュー(コレクションビューを含む)でユーザーインタラクションを有効にすることがあることです。これは、コントロールが機能しないという意味で機能し、別の条件に基づいてアクティビティを有効にします。

これはコードの例です

if (_isMenuVisible) {
  for (UIView *subview in [self.actualView subviews]) {
     if([subview isMemberOfClass:[UIButton class]] || [subview isMemberOfClass:[UILabel class]] ||   [subview isMemberOfClass:[UIView class]]) {
        subview.userInteractionEnabled = _isMenuVisible;
     }
     else {
        subview.userInteractionEnabled = !_isMenuVisible;
     }
  }
}
else {
  for (UIView *subview in [self.actualView subviews]) {
        subview.userInteractionEnabled = !_isMenuVisible;
  }
}

これは動作に影響を与える可能性がありますか?

4

1 に答える 1

2

ViewController がUICollectionViewDelegateプロトコルを採用していることを確認してください。次に、上記のように、 をオーバーライドしcollectionView:didSelectItemAtIndexPath:て、特定のセルがクリックされたときに何をしたいかを決定します。

indexPath を使用して、セルの行またはセクションのプロパティにアクセスし、セルの行またはセクションを特定します。

于 2013-11-05T06:11:41.193 に答える