2013-07-25 45 views
4

我有一個基於視圖的NSTableView,其中一些單元格有足夠的內容,它不適合。當用戶將光標懸停在單元格上時,我希望能夠讓單元格自動展開。擴展基於視圖的NSTableView

在尋找這個問題時,似乎這是基於單元的NSTableView的默認行爲。甚至還有像shouldShowCellExpansionForTableColumn這樣的方法,文檔中說它只適用於基於單元格的表格視圖。文檔中的其他地方意味着這種擴展行爲默認情況下基於單元格的表格視圖處於打開狀態?

- (BOOL)tableView:(NSTableView *)tableView shouldShowCellExpansionForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row 

我感覺我錯過了一些明顯的東西。

目標:

  • 能放的NSTextField對象的多行基於視圖的細胞(超過有節奏處理)
  • 如果內容溢出,把視覺指示器進入細胞
  • 當用戶執行細胞上的工具提示風格懸停,展開視圖來顯示所有的內容
+0

該方法基本上顯示一個工具提示。你要找的東西並不容易,但涉及行高調整和行視圖高度以及單元格視圖高度。在10.9中,您可以查看NSStackView,但無論您是在管理單元格和行視圖子類中的某些自動佈局約束以及對通知作出響應。 (可能創建你自己的) – uchuugaka

回答

0

你似乎是在正確的軌道上,因爲這應該基於細胞NSTableViews工作。您需要在tableView的委託中放置tableView:shouldShowCellExpansionForTableColumn:row:。您可以回覆YES作爲感興趣的列。

使用基於視圖的表格,您可以使用NSTextFields滾動,截斷或包裝,但不存在展開懸停選項。可以將工具提示文本設置爲與可能是合理解決方案的內容相同。

+0

不會。問題是我在基於視圖的單元格中有一個或多個NSTextField對象。當我需要很多NSTextField對象時,我需要能夠讓用戶點擊某個東西或將鼠標懸停在基於視圖的單元格上,以允許它增長。工具提示或滾動解決方案不能解決問題。問題是有一個用戶根本看不到的NSTextField。 – Daniel

0

您是否嘗試更改由某些鼠標操作觸發的行高(tableView:heightOfRow:)?你可能不得不重新加載tableview。

相關問題