私はNSOutlineView
可変の(実行時)高さの行を持っています。outlineView: heightOfRowByItem:
デリゲートのメソッドで高さをすぐに変更するのは簡単です。しかし、アニメーションの展開/折りたたみのように、行の高さをアニメーション化したいと考えています。
これを行う方法?
私はNSOutlineView
可変の(実行時)高さの行を持っています。outlineView: heightOfRowByItem:
デリゲートのメソッドで高さをすぐに変更するのは簡単です。しかし、アニメーションの展開/折りたたみのように、行の高さをアニメーション化したいと考えています。
これを行う方法?
あなたの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 ブロック内で呼び出すとアニメーション化されます。