UICollectionViewCell 子类插座未连接

UICollectionViewCell subclass outlet not connected

我正在尝试使用在 IB 中设计的单元格子类来实现一个非常基本的集合视图。屏幕截图可能更好地解释我所看到的问题,但基本上我在 IB 中添加到我的单元格中的图像视图不会显示为单元格内的子视图,而是集合视图的子视图。此外,我的单元格子类中的插座未连接。

正如您在屏幕截图中所见,在右侧,我已将 ImageView 添加到单元格,IB 中的视图层次结构显示将图像视图显示为单元格的子视图(从技术上讲是单元格的内容视图,但我认为 IB 不会在这里区分)。但是,在左侧(我转到“调试”->“视图调试”->“捕获视图层次结构”的位置),您可以看到图像视图沿一维倾斜,并且不是单元格内容视图子视图的一部分。我遵循了 Ray Wenderlich 的教程,并且之前实现了 CollectionViews(虽然我绝对不是专家),但我无法弄清楚我的项目有什么不同。而且我不确定如何调试单元格内部发生的事情,因为它没有实现传统的视图方法,如 viewDidLayoutSubviews 等。非常感谢任何关于我正在做的可能很愚蠢的事情的提示!

对于您的情况,我认为您没有正确设置 Viewcontroller/collection 视图控制器 class 与 IB 插座。请按照以下步骤使用自定义对象(图像视图、标签等)在集合视图中创建单元格。

1) First of all provide your custom Class file according to your IB UI. 
Please review attached sc.

这里我首先创建class 文件(.h & .m)。 例如:

//  CollectionViewController.h
#import <UIKit/UIKit.h>

@interface CollectionViewController : UICollectionViewController
@property (weak, nonatomic) IBOutlet UIImageView *CollectionIV;

@end

2) Take Collectionview controller IB UI in storyboard or .xib.
3) Connect your class file with IB UI. Review above SC.
4) Optional - If required then setup correct DataSource and Delegate method with UI.

再次感谢您的帮助和花费的时间。问题是我在 IB 中设计单元格,但也调用

self.collectionView!.registerClass(TestCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier) 

在集合视图控制器 viewDidLoad 方法中(实际上 UICollectionViewController 子类的模板代码会自动执行此操作)。当我这样做时,基于重用标识符实例化的单元与故事板中的单元无关,因此插座没有连接