Ho un controller UICollectionView incorporato in un controller di navigazione. La collezioneView elenca i progetti e ogni cella dovrebbe passare a una schermata ProjectDetail.iOS: Storyboard CollectionView seguito non attivato
Semplicemente non riesco a far scattare il seguito. Se faccio semplicemente cadere un pulsante sulla barra di navigazione e collego un seguito al dettaglio, funziona. Ma l'attivazione dalla mia cella CollectionView non lo fa.
Ecco cosa lo storyboard assomiglia: http://cl.ly/RfcM Io ho un segue collegato dal CollectionViewCell alla ProjectDetailViewController
Ecco il codice relativo dentro la mia ProjectDetailViewController:
@interface ProjectCollectionViewController() {
NSArray *feedPhotos;
Projects *projects;
}
@end
@implementation ProjectCollectionViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self.collectionView registerClass:[FeedViewCell class] forCellWithReuseIdentifier:@"cell"];
[self loadData];
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"selected %d", indexPath.row);
Project *project = [projects getProject:indexPath.row];
NSLog(@"project = %@", project);
}
- (void)loadData {
[self.projectLoader loadFeed:self.username
onSuccess:^(Projects *loadedProjects) {
NSLog(@"view did load on success : projects %@", loadedProjects);
projects = loadedProjects;
[self.collectionView reloadData];
}
onFailure:^(NSError *error) {
[self handleConnectionError:error];
}];
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return projects.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
static NSString *identifier = @"cell";
FeedViewCell *cell = (FeedViewCell *) [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
cell.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:1.0 alpha:1.0];
UIImageView *cellImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
Project *project = [projects getProject:indexPath.row];
NSString *imageUrl = [project coverPhotoUrl:200 forHeight:200];
NSLog(@"imageurl =>%@", imageUrl);
if (imageUrl) {
[cellImageView setImageWithURL:[NSURL URLWithString:imageUrl]];
}
[cell addSubview:cellImageView];
cell.imageView = cellImageView;
return cell;
}
sto cercando di indovinare il il problema è da qualche parte in come sto collegando le celle al CollectionView.
Qualsiasi aiuto sarebbe molto apprezzato!
Quindi qualcuno può dirmi cosa è cambiato? Perché qui http://www.appcoda.com/ios-collection-view-tutorial/ possiamo vedere chiaramente che la connessione è fatta in 'Storyboard' e funziona. – Pahnev
Questa risposta è obsoleta. Sicuramente, puoi creare segues direttamente in Storyboard. –