0

私はNSOutlineView可変の(実行時)高さの行を持っています。outlineView: heightOfRowByItem:デリゲートのメソッドで高さをすぐに変更するのは簡単です。しかし、アニメーションの展開/折りたたみのように、行の高さをアニメーション化したいと考えています。

これを行う方法?

4

1 に答える 1

0

あなたのNSOutlineView呼び出しでnoteHeightOfRowsWithIndexesChanged: like:

// index set with all rows that did change height
NSIndexSet *rows = [NSIndexSet indexSetWithIndex:1];
[self.outlineView noteHeightOfRowsWithIndexesChanged:rows];

outlineView:heightOfRowByItem:これにより、デリゲート メソッドによって返される新しい高さに行がアニメーション化されます。

ドキュメントから:

ビューベースのテーブルの場合、このメソッドはアニメーション化します。
[...]
セル ベースのテーブルの場合、このメソッドは通常アニメーションしません。ただし、beginUpdates/endUpdates ブロック内で呼び出すとアニメーション化されます。

于 2013-02-05T09:38:25.567 に答える