gpt4 book ai didi

ios - 无法让 UICollectionView 显示单元格

转载 作者:可可西里 更新时间:2023-11-01 03:01:20 25 4
gpt4 key购买 nike

我正在尝试让 UICollectionView 显示在模态呈现的 View Controller 中。该应用适用于 iPad iOS 7。

我创建了 UIViewController 的子类(带有 nib)并像这样添加它:

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];

此 View Controller 将成为我的 UICollectionView 的委托(delegate)和数据源,因此我已将 UICollectionViewDataSource 和 UICollectionViewDelegate 添加到 header 。

我已经将 UICollectionView 放入 Nib 并向 MyViewController 添加了一个导出:

@property (strong, nonatomic) IBOutlet MyCollectionView *collectionViewController;

我在 MyViewController 的 viewDidLoad 中添加了这个:

self.collectionViewController.dataSource = self;
self.collectionViewController.delegate = self;

我还在 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;
}

我还设置了一个 UICollectionViewCell 的子类,标识符设置为 MyCell,并向其添加了一个带有标签 100 的 UIImageView。

每当我调出这个 View Controller 时,我都会按预期获得导航栏,但是我添加到我的 Nib 的 UICollection View 却无处可见。我所看到的只是 Collection View 所在的黑色。如果我将 MyCollectionView 的背景颜色从默认值更改为白色,我会在 Collection View 应该出现的位置看到白色。它似乎调出了 MyCollectionView,但没有显示任何单元格。

最佳答案

另一个有趣的地方是,如果您在 nib 或 Storyboard 中设置单元格的标识符,请不要在 Collection View Controller 中注册 nib/类。做一个或另一个,但不能同时做。

关于ios - 无法让 UICollectionView 显示单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19095640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com