1

我试图通过实现在 NSCollectionView 中进行捏缩放-(void)magnifyWithEvent:(NSEvent *)event,但我不确定在此方法中要做什么。我得到了缩放量[event magnification],现在我需要刷新集合视图中的项目。

我认为我可以将其保存在一个变量zoomValue中,并覆盖该方法- (NSCollectionViewItem *)newItemForRepresentedObject:(id)object以调整每个集合项的视图的大小(但我认为这不起作用。无论如何我不知道如何触发“刷新”集合视图)。

有什么想法吗?谢谢你。

4

1 回答 1

1

我正在做类似的事情,但从滑块而不是捏。你只需要打电话:

[collectionView setMinItemSize:newSize];
[collectionView setMaxItemSize:newSize];
[collectionView setNeedsDisplay:YES];

为了在拖动滑块期间实时调整大小,我必须调用一个私有方法 -[NSCollectionView _updateGridWithCurrentItemsIfNecessary],否则直到 mouseup 才会调整大小。不确定你是否会遇到同样的问题。

于 2011-08-01T14:41:32.107 回答