2012-01-04 5 views
1

OKですので、NSOutlineViewを使用してサイドバーを構築しました。私は現在、サイドバーに2つのセクションを展開/縮小することができます。選択した行がどのセクションに属しているかを判断できるようにしたいと考えています。NSOutlineViewから選択した行のセクションを決定します。

- Section 1 
-- Item 1 
-- Item 2 
-- Item 3 
- Section 2 
-- Item 4 
-- Item 5 

セクションが展開されているかどうかによって、selectedRowの値が変わるという問題があります。手動で各セクションの拡張/縮小とアイテム数を追跡することなく、行がどのセクションに属しているかを簡単に判断する方法はありませんか?

答えて

2

これを試してみてください:

//returns id of section, where currentRow is a selectedRow 
id section = [yourNSOutlineView parentForItem:[yourNSOutlineView itemAtRow:selectedRow]]; 
+0

感謝し、これはまさに私が – nduplessis

+0

@nduplessis探していたもの...セクションIDは、唯一の親またはアウトラインビューからすべての親が表示されますか?親ノードにリーフノードを意味します。 – KethanKumar

0

[NSOutlineView itemAtRow:]は、選択した行のインデックスで呼び出すことができます。

関連する問題