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] を呼び出す必要がありました。同じ問題が発生するかどうかはわかりません。

于 2011-08-01T14:41:32.107 に答える