2011-01-21 27 views
4

我是新來的Mac上發展,我期待實現Spotlight類似的界面 - 這似乎是一個擴展表/網格視圖的主要部分。現成可可射燈UI組件

alt text

我在想,如果有一個組件蘋果提供用於創建這樣的事情或者是開放源碼其他地方。

當然,如果沒有我就試着一起想辦法自己,但它總是值得一試!

感謝您的幫助提前。

+0

+1 - 好問題! – 2011-01-21 18:52:57

+0

另外,爲什麼這麼藍,JoeR? ;-D – 2011-01-21 19:04:29

回答

4

新建答案(十二月2015年)

這些天我會用一個垂直堆疊視圖(NSStackView)去。

您可以使用它藏身的優先級,以保證您展示將適合的結果數(它會隱藏這些不了)。請注意,它不會像表格視圖重用視圖重用單元格視圖,因此它僅適用於您的案例中有限數量的「結果」,特別是因爲添加一堆永遠不會有意義的子視圖是沒有意義的出現。我甚至可以直接說,你不應該把它用於你打算滾動的東西的列表(在這種情況下,去看一下表格視圖)。

優先級設置可以用來確保您的應該是什麼樣的假設「足夠」的結果不會通過讓堆棧視圖「犧牲」在過去的幾年造成難看的佈局問題。

您甚至可以模擬Spotlight的「Spotlight首選項」條目(或「全部顯示」選項),並將其優先級設置爲所需的值(1000),以便即使隱藏了最後的結果條目缺乏空間。

最近所有我的UI設計爲10.11(和更高版本)已使沉重使用它們。我一直在尋找新的方法來簡化我的佈局。考慮到他們是多麼輕巧,他們應該是你去到解決方案第一除非你需要更復雜的東西(在他們打算以這種方式使用WWDC視頻說明蘋果公司的工程師)。

老2011回答

這是私人蘋果API。我不知道有任何模仿它的開源計劃。

如果我試圖做到這一點,我可能會使用一個NSTableView沒有封閉的滾動視圖,沒有標題,兩列,左對齊的右對齊淺色文本,易於搜索的圖像/文本單元格右列,垂直網格線打開。容器視圖將觀察表視圖的框架更改並相應地調整大小/重新定位。

添加:也可能是一個好主意,以查看右對齊/左對齊文本(甚至列的位置)在具有不同掃掠路徑的語言中是否不同。例如:阿拉伯語和希伯來語從右至左閱讀。更好地適應,而不是說「誰在乎」(他在充分了解自己的應用程序時會輕率地說出這些事情:-))。您可以通過確保您的計算機上安裝了這些語言,然後在它們之間切換並測試Spotlight來測試此功能。改變語言不應該成爲一個問題,因爲語言切換用戶界面不依賴於閱讀外語。 :-)