2012-10-09 53 views
1

我想做一個擴展能力的表視圖。 當您按下一行時,該行應展開以顯示諸如刪除,複製等選項。 我找到了一個適用於iOS的示例,但是我沒有在Mac OS X上運行它,因爲NSTableViewUITableView有很大不同。擴展NSTableView

http://www.cocoacontrols.com/platforms/ios/controls/kofiles

有沒有人另一個模板? 或者甚至可能讓這個例子在Mac OS X上運行?

回答

1

我沒有代碼提交給你,但你可以使用基於視圖的NSTableView。如果選擇了原型視圖,可以調整其大小以包含控件。所有這些都有點複雜,可以壓縮成一個合理簡短的答案,但如果您使用基於視圖的表視圖並像處理其他任何會增長並顯示額外控件的原型視圖一樣對待,那麼將此行爲連接到選擇狀態,它應該可以工作。

注意:您需要爲擴展部分編寫一些代碼,以便處理調整大小,顯示控件以及通知表格視圖,其中一行改變了高度。對於您的問題的每個單獨組件,都有很多文檔和示例。在遇到障礙時發佈更具體的問題。

+0

我知道你的意思,我會實現一個NSTableCellView的子類,並委託控制器來調整行的大小,但我該如何做到這一點。 那麼,我該如何動畫表格行高? – NSAddict

+1

**請閱讀文檔**併發布關於**您嘗試**的**單獨問題**以及**什麼不工作**。當您調用-noteHeightOfRowsWithIndexesChanged:時,它應該自動爲您設置動畫大小。它說,「對於基於視圖的表格,這種方法會生成動畫。」 –

+0

至於視圖本身,請使用-setFrame:或-setFrameSize:via [[view animator] setFrame:someNewFrame];根據額外控制所需的高度(或缺乏)調整大小。使用NSAnimationContext分組將幀大小更改分組在一起並通知表視圖,並且它應該爲您提供平滑的動畫,其中表正在增長行,同時行的視圖正在增長。 –