从 tableview 切换到 colelctionview 现在没有调用 dodselectitematindexpath

Switched from tableview to colelctionview now didselectitematindexpath not called

所以我从 UITableView 切换到 UICollectionView。这些单元格都加载得很好并且看起来很漂亮,但现在我不能再 select 任何一个。水龙头在日志中被识别,但它并没有让我认为它应该再带我去。

唯一真正改变的是您在 "cellForItem" 部分中看到的那些被注释掉的内容。其他一切都与它在 TableView 中工作时的情况相同。它只是应该将我带到您点击时指定的 ViewController。相反,点击被记录下来,但它什么也不做。任何帮助将不胜感激。

我也尝试摆脱 [collectionView deselectItemAtIndexPath:indexPath animated:YES];

...但没有任何区别。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
        PlaceCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];

    // Configure the cell
    //UINib * placeCell = [UINib nibWithNibName:@"Shops" bundle:nil];
   // NSArray *topLevelItems = [placeCell instantiateWithOwner:self options:nil];      

   // cell = [topLevelItems objectAtIndex:0];

    Place *p = [_entries objectAtIndex:indexPath.row];
    cell.placeName.text = p.PName;
    NSLog(@"p:%@",p.PName);
    cell.placeName.textColor = [UIColor colorWithRed:3/255.0f green:6/255.0f blue:4/255.0f alpha:1.0f];
    NSString *pIcon;
    pIcon = typeName;
    //NSLog(pIcon);
    cell.placeImg.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:p.PImage]]];
    NSLog(@"i:%@",p.PImage);
    return cell;
}

-(void) collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@"Tap Recognized");
    [collectionView deselectItemAtIndexPath:indexPath animated:YES];
    Place *p = [_entries objectAtIndex:indexPath.row];
    DetailPlaceViewController * pvc = [[DetailPlaceViewController alloc] init];
    [pvc setPlace:p];
    [self.navigationController pushViewController:pvc animated:YES];


}

这个很好玩...

由于某些奇怪的原因,我的导航控制器无法正常工作...因此使用导航控制器加载视图当然是行不通的。足够简单的解决方案......在没有导航控制器的情况下加载视图。我正要删除这个问题,但也许有一天有人会遇到类似的情况:

[self presentViewController:pvc animated:YES completion:nil];