所以我从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];
}
答案 0 :(得分:0)
这个很有趣......
由于某些奇怪的原因我的导航控制器无法运行...所以当然使用导航控制器来加载视图是行不通的。简单的解决方案......在没有导航控制器的情况下加载视图我只是要删除这个问题,但也许有一天可能会有类似的情况:
[self presentViewController:pvc animated:YES completion:nil];