2013-03-21 19 views
0

我正在寫一個OS X應用程序,它生成大量文件並將它們保存在用戶選擇的目錄中。我想使用類似於您在傳輸中找到的目錄下拉菜單。那是什麼控制?什麼可可控制用於選擇目錄

What control is this?

回答

2

這是NSPathControl風格彈出。

enter image description here

編輯:我嘗試了這一點,並終於做了一些的調整/黑客

這包含這些設置的按鈕:沒有標題,未選中拒不第一響應者和未選中啓用。在此之上繪製NSPath控制。只是看起來像一個彈出式按鈕。

查找working model here

enter image description here

+0

是的,這似乎是我正在尋找。但默認情況下是平坦的。我如何讓它看起來像一個下拉框,周圍有邊框等等? – Hongli 2013-03-21 10:50:24

+0

如果你想使用下拉菜單,你可以使用它。如果你想用這種方式使用NSPathControl,你需要通過子類來定製它。 – 2013-03-21 10:54:24

+0

我想使用NSPathControl。我只是想讓它有一個邊框,使它看起來像Transmission中的那個。我怎麼做?你提到了子類化,但我在NSPathControl中看不到任何可以添加邊界的東西。還是你建議我重寫它的paint方法(或者類似的東西;對於Cocoa來說還是新的)並且自己畫一個邊框? – Hongli 2013-03-21 11:09:33

1

您可以使用NSPopupButton。
enter image description here

看看source codetransmission(PrefWindow.xib和PrefsController.m)。

+0

當然,他也可以使用彈出窗口。但可可給你NSPathControl對象提供了許多快速開發的方法。那麼爲什麼不使用那個呢? – 2013-03-21 10:48:19

+1

NSPathControl看起來不像可可下拉菜單。 – 2013-03-21 11:21:45