2010-06-04 101 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对应视觉保真度的应用程序。