如何强制 NSView 子视图调整大小 "now"?
How to force a NSView subviews to resize "now"?
我有一个 NSCollectionView,它的项目是动态调整大小的。
当 [collectionView makeItemWithIdentifier:reuseIdentifier forIndexPath:indexPath] 返回项目时,其视图具有所需的大小
但是
子视图尚未相应调整大小,它们仍然具有 xib 大小。
问题是在设置项目的属性时,我需要知道所有子视图的最终大小(因为我正在优化一些图像)。
如何在从 makeItemWithIdentifier:forIndexPath 获取项目后强制调整子视图的大小:?
或者,我怎样才能知道它们未来的大小?
或任何其他解决方案?
我终于开始优化图像计算,而不是在使用 makeItemWithIdentifier:reuseIdentifier forIndexPath:indexPath: 创建项目的那一刻,因为我没有找到知道最终大小的方法。
我在第一个 drawRect: 调用时开始图像优化图像计算。
在这次调用中,我快速绘制了一张未优化的图像,并在后台线程中启动了优化图像计算。完成后,我向视图发送 setNeedsDisplay:YES 消息,然后显示优化后的图像。
我有一个 NSCollectionView,它的项目是动态调整大小的。
当 [collectionView makeItemWithIdentifier:reuseIdentifier forIndexPath:indexPath] 返回项目时,其视图具有所需的大小
但是
子视图尚未相应调整大小,它们仍然具有 xib 大小。
问题是在设置项目的属性时,我需要知道所有子视图的最终大小(因为我正在优化一些图像)。
如何在从 makeItemWithIdentifier:forIndexPath 获取项目后强制调整子视图的大小:?
或者,我怎样才能知道它们未来的大小?
或任何其他解决方案?
我终于开始优化图像计算,而不是在使用 makeItemWithIdentifier:reuseIdentifier forIndexPath:indexPath: 创建项目的那一刻,因为我没有找到知道最终大小的方法。
我在第一个 drawRect: 调用时开始图像优化图像计算。
在这次调用中,我快速绘制了一张未优化的图像,并在后台线程中启动了优化图像计算。完成后,我向视图发送 setNeedsDisplay:YES 消息,然后显示优化后的图像。