2016-08-03 64 views
0

我有一个NSCollectionView,其中的项目是动态调整大小的。如何强制NSView子视图调整“现在”?

当项被返回[的CollectionView makeItemWithIdentifier:reuseIdentifier forIndexPath:indexPath]视图具有所需尺寸

BUT

子视图尚未大小相应地,他们仍然有XIB尺寸。

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

如何强制subview从makeItemWithIdentifier获取项目后调整大小:forIndexPath:?

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

还是其他解决方案?

回答

0

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

我在第一个drawRect:call处开始图像优化图像计算。

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