矢量图形绘制一个旋钮

时间:2013-07-06 00:38:26

标签: ios objective-c opengl-es quartz-graphics

我想画一个带旋钮的界面,类似于这张照片中的“overdrive”(绿色):

enter image description here

在iOS中,我应该使用矢量图形吗? Quartz,OpenGL ES还是别的什么?

我确信可以用OpenGL完成,但我认为它非常复杂。所以,如果你能,我会用更简单的东西来避免它。

1 个答案:

答案 0 :(得分:0)

它在很大程度上取决于GUI的其余部分是如何呈现的。但是,除非你已经在使用OpenGL,否则Quartz或CoreAnimation可能是你最好的选择。

看一下屏幕截图,看起来你可能会通过两个图像层实现效果,一个是背景(静态)和一个前景(旋转)。

背景图像可以具有刻度(涂在踏板上)和阴影,然后是黑色旋钮边框和闪亮的金属中间。然后你可以用适当的角度绘制黑色刻度指示器,使用Quartz或使用CGLayer并旋转它(特别是如果你想让部分按钮纹理随之旋转)。

旋钮看起来很光滑,因此您无需担心旋转边缘。假设光源是固定的,左上边缘的高光和金属中间的光泽也可以是静态的。

然而,如果你想要更逼真,你可以试着让第三层只有闪亮的中间,然后在指针旋转时来回旋转这一点来动画旋钮中间。它不需要一路走来走去;也许10度左右的变化应该有助于推销效果。