Ich versuche, eine UICollectionView in einem modal präsentierten View-Controller anzuzeigen. Die App ist für iPad iOS 7.UICollectionView kann nicht zum Anzeigen von Zellen verwendet werden
ich Unterklasse von UIViewController (mit einer Feder) erstellt haben und fügte hinzu, es wie folgt aus:
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];
Diese View-Controller ist der Delegierte und Datenquelle für meine UICollectionView zu sein also habe ich UICollectionViewDataSource und UICollectionViewDelegate zur Kopfzeile hinzugefügt.
Ich habe eine UICollectionView in die Spitze setzen und einen Auslass zu MyViewController hinzugefügt:
@property (strong, nonatomic) IBOutlet MyCollectionView *collectionViewController;
ich dies in viewDidLoad in MyViewController hinzugefügt haben:
self.collectionViewController.dataSource = self;
self.collectionViewController.delegate = self;
ich auch hinzugefügt haben die folgende zu 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;
}
Ich habe auch eine Unterklasse von UICollection eingerichtet ViewCell mit dem Bezeichner auf MyCell gesetzt und ein UIImageView mit dem Tag 100 hinzugefügt.
Immer wenn ich diesen View-Controller erstelle, bekomme ich die Navigationsleiste wie erwartet, aber die UICollection-Ansicht, die ich zu meiner Feder hinzugefügt habe ist nirgendwo zu sehen. Alles, was ich sehe, ist schwarz, wo die Ansicht der Sammlung sein sollte. Wenn ich die Hintergrundfarbe von MyCollectionView von standardmäßig auf weiß ändere, sehe ich weiß, wo die Sammlungsansicht sein sollte. Es scheint MyCollectionView aufzurufen, zeigt jedoch keine Zellen an.
[Haben Sie Appcoda Tutorial?] (Http://www.appcoda.com/ios-collection-view-tutorial/) –