如何在collectionViewCell 里面获取自身Frame

如题,我通过storyboard来创建的UICollectionView,然后将自定义的collectionViewCell,现在问题是,我希望能够在我自定义的collectionViewCell里面获取布局中自己的大小。我直接在initWIthCoder里面获取self.frame 输出的是storyboard原始对cell的布局大小。。。

怎么破

阅读 5.1k
1 个回答

initWithCoder 的时候它还没有加到父 view 里去,所以是原始的大小。这跟 UITableViewCell 的 320 bug 是一个道理……

不知道你在什么时候需要获取它的大小。我的建议是,如果能把时机调整到加到父 view 之后再获取,最好这样做;否则,也可以写在layoutSubviews方法里。不过注意的是,这个方法调用的次数可能较多,如果要做一些复杂的计算可能会影响性能。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题