2010-11-08 75 views
1

我有一個NSOutlineView的IBOutlet,我想刪除現有的列,然後添加新的列。如何動態填充NSOutlineView的列?

我曾嘗試添加列

[outlineView setOutlineTableColumn:myNewCol]; 

[outlineView addTableColumn:myNewCol]; 

沒有運氣。

要刪除我嘗試這樣做:

NSArray *existingColumns = [outlineView tableColumns]; 
for (NSTableColumn *col in existingColumns) 
    [outlineView removeTableColumn:col]; 

任何幫助嗎?

謝謝!

回答

1

setOutlineTableColumn:設置具有公開按鈕的列。它不添加列。

如果這兩者都沒有做任何事情,請確保outlineView(我認爲這是一個IB插座)連接到您的筆尖。

如果發生其他事情,請告訴我們您的問題。

+0

謝謝......你的回答給了我一個線索,找出問題所在。我在[outlineView reloadData]之後有這一行:[outlineView expandItem:nil expandChildren:YES]; ..顯然,這引發了不想要的行爲...另一方面,我無法刪除所有列,它至少有一個列,這是[outlineView outlineTableColumn],它似乎是沒有解決方案對於這個,所以我只是改變一個,而不是試圖取代它..非常感謝.. – Omer 2010-11-09 13:48:01