有没有办法从 collectionviewcell 获取 collectionViews 框架

Is there a way to get a collectionViews frame from a collectionviewcell

我想用

-preferredLayoutAttributesFittingAttributes 在我们正在写的 UICollectionviewCell subclass 里面。

目前我们已经有一个指向 out parentViewController 的弱指针,我尝试将 collectionViewcell 框架宽度设置为与 parentViewcontroller.view.frame.size.width 相同。

我不想从 CollectionViewCell subclass 得到一个指向 parentViewController 的指针,因为引用 parentviewcontroller 是个坏主意。

我的问题是....

有没有简单理想的方法从collectionViewcellclass内部获取collectionviewcell的super view的frame?

如果您想使用父视图,则不需要任何参考。你可以这样做:

CGFloat width = self.superview.frame.size.width;

正如@Ralfonso 在评论中指出的那样:

此外,如果您想在添加到视图层次结构后立即获取父视图大小,请覆盖 didMoveToSuperview: 并访问父视图 属性。如果为零,则该视图已从父视图中删除。如果非零,则视图已添加到父视图的层次结构中。