如何强制NSView子视图“现在”调整大小?

时间:2016-08-03 18:57:32

标签: resize nsview nscollectionview

我有一个NSCollectionView,这些项目是动态调整大小的。

当[collectionView makeItemWithIdentifier:reuseIdentifier forIndexPath:indexPath]返回该项时,其视图具有所需的大小

BUT

子视图的大小尚未相应,它们仍然具有xib大小。

问题在于,在设置项目的属性时,我需要知道所有子视图的最终大小(因为我正在优化一些图像)。

如何在从makeItemWithIdentifier获取项目之后强制调整子视图的大小:forIndexPath:?

或许,我怎么知道他们未来的规模?

或其他任何解决方案?

1 个答案:

答案 0 :(得分:0)

我终于开始优化图像计算,而不是在使用makeItemWithIdentifier:reuseIdentifier forIndexPath:indexPath:创建项目的时候,因为我没有找到知道最终大小的方法。

我在第一个drawRect:call。

开始图像优化的图像计算

在此调用过程中,我会快速绘制一个非优化的图像,并在后台线程中启动优化的图像计算。完成后,我向视图发送setNeedsDisplay:YES消息,然后显示优化后的图像。