如题,我通过storyboard来创建的UICollectionView,然后将自定义的collectionViewCell,现在问题是,我希望能够在我自定义的collectionViewCell里面获取布局中自己的大小。我直接在initWIthCoder里面获取self.frame 输出的是storyboard原始对cell的布局大小。。。
怎么破
如题,我通过storyboard来创建的UICollectionView,然后将自定义的collectionViewCell,现在问题是,我希望能够在我自定义的collectionViewCell里面获取布局中自己的大小。我直接在initWIthCoder里面获取self.frame 输出的是storyboard原始对cell的布局大小。。。
怎么破
2 回答1.3k 阅读
1 回答1.4k 阅读✓ 已解决
1 回答1.1k 阅读
1 回答1k 阅读
539 阅读
initWithCoder
的时候它还没有加到父 view 里去,所以是原始的大小。这跟 UITableViewCell 的 320 bug 是一个道理……不知道你在什么时候需要获取它的大小。我的建议是,如果能把时机调整到加到父 view 之后再获取,最好这样做;否则,也可以写在
layoutSubviews
方法里。不过注意的是,这个方法调用的次数可能较多,如果要做一些复杂的计算可能会影响性能。