从tableview切换到colelctionview现在确实选择了未调用的matindexpath

时间:2015-04-20 07:42:16

标签: xcode uicollectionview didselectrowatindexpath

所以我从UITableView切换到UICollectionView。细胞都装得很好,看起来很漂亮,但现在我再也无法选择它们了。点击在日志中被识别,但它并没有让我认为它应该带我去看。

唯一真正改变的是那些你看到的" 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];


}

1 个答案:

答案 0 :(得分:0)

这个很有趣......

由于某些奇怪的原因我的导航控制器无法运行...所以当然使用导航控制器来加载视图是行不通的。简单的解决方案......在没有导航控制器的情况下加载视图我只是要删除这个问题,但也许有一天可能会有类似的情况:

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