2010-06-04 96 views
2

我正在將一個win32應用移植到可可中。只要有可能,我使用IB,因爲...很明顯,它的方式很簡單。有一件事是設計師和win32開發者在一個龐大的「精靈表」上設置所有的按鈕資源,例如你在視口中移動以確定按鈕狀態。類似於雅虎如何在他們的主頁上使用CSS精靈(http://d.yimg.com/a/i/ww/met/pa_icons/20100309/spr_apps_us.pngInterface Builder + Sprite Strips

IB可以設置爲使用默認按鈕來處理這種類型的精靈條,或者我們是否是SOL?我當然可以通過編程方式啓動一些能做到這一點的東西,但是想要在IB中包含儘可能多的默認按鈕行爲和選擇器連接。

想法?

喬希

+0

我不太明白它..每個按鈕都有自定義背景嗎?對於每個按鈕狀態可能是不同的?每個自定義背景都是大型精靈表的一部分?假設你知道在鼠標移動時需要將精靈轉換爲(0px,-150px) - 你打算怎麼做? – hooleyhoop 2010-06-05 11:10:50

+0

確實。那麼,css sprite技術將它用於按鈕背景和按鈕圖標 - 我對使用IB NSButtons的默認背景感興趣,並且僅將該技術用於圖標。 我已經建立了基本的按鈕,沒有圖標在界面生成器中,然後我繼承NSButton來完成mouseDown,mouseUp等的繁重工作。似乎並不是支持精靈映射的方法本地在界面構建器中。 – Josh 2010-06-05 20:03:05

回答

0

這不是在IB支持,因爲它是真的不設置按鈕圖像的可可方式。我明白你爲什麼要在CSS中使用精靈,但在本地程序中(在任何平臺上),看起來真的沒有必要和效率低下。

我誠實地認爲這將是更少的工作讓你忘記使用精靈。出於好奇,這些按鈕是用於標準用戶交互的,還是更多沿着遊戲按鈕行的東西?如果是標準用戶交互(打開文件,更改字體等),那麼我強烈建議儘可能使用股票按鈕,儘管我明白這可能超出了你的控制範圍。原因在於最糟糕的移植應用程序通常是那些試圖保持Windows對應視覺保真度的應用程序。