我正在尝试使用在IB中设计的单元子类来实现一个非常基本的集合视图。屏幕截图可以更好地解释我所看到的问题,但基本上我添加到IB中的单元格的图像视图不会显示为单元格内的子视图,而是集合视图的子视图。另外,我的单元子类中的插座没有连接起来。
正如您在屏幕截图中看到的,在右侧,我已将ImageView添加到单元格,IB中的视图层次结构显示将imageview显示为单元格的子视图(从技术上讲,单元格的内容视图,但我不要认为IB在这里区分了)。但是,在左侧(我已经进入Debug-> View Debugging-> Capture View Hierarchy),您可以看到图像视图沿着一个维度倾斜,并且不是单元格的contentview子视图的一部分。我已经关注了Ray Wenderlich的教程,之前已经实现了CollectionViews(虽然我绝对不是专家),但我无法弄清楚我的项目有什么不同。而且我不确定如何调试单元格内部的内容,因为它没有实现像viewDidLayoutSubviews等传统的视图方法。任何关于我正在做的傻事的提示都非常感谢!
答案 0 :(得分:3)
再次感谢您的帮助和时间。问题是我在IB中设计了单元格而且还在调用
self.collectionView!.registerClass(TestCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
在集合视图控制器viewDidLoad方法内部(实际上,UICollectionViewController子类的模板代码会自动执行此操作)。当我这样做时,基于重用标识符实例化的单元格与故事板中的单元格无关,因此出口没有连接
答案 1 :(得分:0)
在您的情况下,我认为您没有使用IB Outlet正确设置Viewcontroller /集合视图控制器类。请按照以下步骤使用自定义对象(图像视图,标签等)在集合视图中创建单元格。
1) First of all provide your custom Class file according to your IB UI.
Please review attached sc.
这里我首先创建了类文件(.h& .m)。 对于Ex:
// 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.