NSCollectionView捏缩放

时间:2011-08-01 10:25:23

标签: cocoa zoom pinch nscollectionview

我试图通过实现-(void)magnifyWithEvent:(NSEvent *)event来获取NSCollectionView中的缩放缩放,但我不确定在此方法中应该做什么。我正在使用[event magnification]获得缩放量,现在我需要刷新集合视图中的项目。

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

有关于此的任何想法? 谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

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