UICollectionView nicht aufrufen didSelectItemAtIndexPath
Habe ich eine Sammlung Anzuzeigen und benutzerdefinierte Zellen, die mit Bildern und Bezeichnungen gibt. Ich habe meine Sammlung anzeigen wie folgt -
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
flowLayout.minimumLineSpacing = 150.0f;
flowLayout.minimumInteritemSpacing = 104.0f;
flowLayout.sectionInset = UIEdgeInsetsMake(20, 20, 100, 120);
_archiveCollectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:flowLayout];
_archiveCollectionView.frame = CGRectMake(30, 218, _archiveCollectionView.frame.size.width - 60, _archiveCollectionView.frame.size.height - 350);
_archiveCollectionView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
_archiveCollectionView.backgroundColor = [UIColor clearColor];
_archiveCollectionView.delegate = self;
_archiveCollectionView.dataSource = self;
[self.archiveCollectionView registerNib:[UINib nibWithNibName:@"FullArchiveEditionCell" bundle:nil] forCellWithReuseIdentifier:@"MyCell"];
[_archiveCollectionView reloadData];
[self.view addSubview:_archiveCollectionView];
Ich, haben auch die folgenden Methoden:
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return _chosenCategoryArray.count;
}
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[self addEditionsChildView];
}
-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
Aber, meine didSelectItemAtIndexPath
wird nie aufgerufen, wenn ich eine Zelle auszuwählen. Jede Hilfe bitte?
- Haben Sie versucht, setzen NSLog oder Haltepunkt in die Methode?
- Ja - und es tut es nicht nennen
- jeder der datasource-Methode aufgerufen ? Ort Haltepunkt auf jede Methode & überprüfen Sie es.
- im identity inspector des FullArchiveEditionCell.xib, der Besitzer Der Datei die Klasse sollte NSObject und der Blick ist Klasse zu sein, FullArchiveEditionCell.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte ein ähnliches problem und es stellte sich heraus, ich war mit der gleichen Zelle reuse-identifier in zwei verschiedenen collection views
In Ihrem header-Datei haben Sie umgesetzt
UICollectionViewDelegate
wie es weiter unten beschrieben,Ich habe das gleiche problem. Und ich gelöst, indem Sie storyboard zu suchen, die collection Zelle in der collection view controller. Dann kreuzen Sie Benutzerinteraktion Aktiviert. Ich denke, mit Hilfe von code-Satz in der UICollectionViewCell auch funktionieren würde. Hoffe, dass es helfen würde.
Versuchen mit änderung der Reihenfolge wie unten angegeben
zu
Implementieren Sie die unten delegieren-Methode.
Und Umsetzung Ihrer
und