Sto cercando di visualizzare un UICollectionView all'interno di un controller di visualizzazione presentato in modo modale. L'applicazione è per iPad iOS 7.Impossibile ottenere UICollectionView per visualizzare le celle
ho creato sottoclasse di UIViewController (con pennino) e ha aggiunto in questo modo:
MyViewController *controller = [[MyViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller];
navController.modalPresentationStyle = UIModalPresentationFullScreen;
navController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
[self presentViewController:navController animated:YES completion:nil];
Questo controller di vista è quello di essere il delegato e DataSource per il mio UICollectionView quindi ho aggiunto UICollectionViewDataSource e UICollectionViewDelegate all'intestazione.
ho messo un UICollectionView nel pennino e ha aggiunto una presa di MyViewController:
@property (strong, nonatomic) IBOutlet MyCollectionView *collectionViewController;
Ho aggiunto questo viewDidLoad in MyViewController:
self.collectionViewController.dataSource = self;
self.collectionViewController.delegate = self;
Ho anche aggiunto il seguente a MyViewController:
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
NSLog(@"Items in section: %d", itemsArray.count); // returns correct amount
return itemsArray.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"cellForItemAtIndexPath %@", indexPath); // returns as expected
static NSString *identifier = @"MyCell";
[self.collectionViewController registerClass:[MyCollectionCell class] forCellWithReuseIdentifier:identifier];
MyCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
UIImageView *myImageView = (UIImageView *)[cell viewWithTag:100];
myImageView.image = [UIImage imageNamed:[itemsArray objectAtIndex:indexPath.row]];
return cell;
}
Ho anche creato una sottoclasse di UICollection ViewCell con l'identificatore impostato su MyCell e aggiunto a UIImageView con il tag 100.
Ogni volta che faccio apparire questo controller di visualizzazione sto ottenendo la barra di navigazione come previsto, ma la vista UICollection che ho aggiunto al mio pennino non si vede da nessuna parte. Tutto quello che vedo è nero dove dovrebbe essere la vista raccolta. Se cambio il colore di sfondo di MyCollectionView da predefinito a bianco, vedo bianco dove dovrebbe essere la vista di raccolta. Sembra che venga visualizzato MyCollectionView, ma non mostra alcuna cella.
[Hai seguito il tutorial Appcoda?] (Http://www.appcoda.com/ios-collection-view-tutorial/) –