我想用旋钮绘制一个界面,类似于这张照片中的“过载”(绿色):
在iOS中,我应该使用矢量图形吗?Quartz,OpenGL ES,还是别的什么?
我确信可以用 OpenGL 完成,但我认为它非常复杂。因此,如果可以的话,我会使用更“简单”的东西来避免它。
我想用旋钮绘制一个界面,类似于这张照片中的“过载”(绿色):
在iOS中,我应该使用矢量图形吗?Quartz,OpenGL ES,还是别的什么?
我确信可以用 OpenGL 完成,但我认为它非常复杂。因此,如果可以的话,我会使用更“简单”的东西来避免它。
这在很大程度上取决于 GUI 的其余部分是如何呈现的。但是,除非您已经在使用 OpenGL,否则 Quartz 或 CoreAnimation 可能是您最好的选择。
查看屏幕截图,您似乎可以使用两个图像层来实现效果,一个背景(静态)和一个前景(旋转)。
背景图像可能有刻度(画在踏板上)和阴影,然后是黑色旋钮边框和闪亮的金属中间。然后,您可以使用 Quartz 或使用 CGLayer 以适当的角度绘制黑色刻度线并旋转它(特别是如果您想让按钮纹理的一部分随之旋转)。
旋钮看起来很光滑,因此您无需担心旋转边缘。并且假设光源是固定的,左上边缘的高光和金属中间的光泽也可以是静态的。
但是,如果您想要更逼真,您可以尝试使用只有闪亮中间的第三层,并在指针旋转时稍微来回旋转以动画旋钮中间。它不需要一路走来走去;也许 10 度左右的变化应该有助于销售效果。