5

我发现了这个有趣的界面(从 33 秒开始http://vimeo.com/22946428),并想为我自己的应用程序设计类似的东西。我对附图中的圆形强度计/旋钮控制特别感兴趣。 它有一种非常未来主义的感觉,并且使用 touchesMoved: 手势识别器回调来实现应该相当简单。

但是为了不重新发明轮子,是否有任何提供高级 UI 功能的开源库,比如图片/视频中的那些?

更新:Hubert 的回答演示了如何使用单指运动来旋转表盘。谜题的第二部分是:如何用颜色填充控件?

我正在考虑旋转背景颜色图像,但它的一部分必须被切断或用其他东西覆盖,以从空白背景变为完整背景。也许切割元素(大约 1 弧度)可能会隐藏一组跟随手指的扇形片段,并产生仪表盘填充不断增加或减少的错觉。6 个片段 x,y 将连续设置动画,将它们定位为仅覆盖所需的控制部分。

强度计

4

2 回答 2

0

这是一个循环进度视图的示例。结合单指旋转控件,它可以创建一个与请求类似的仪表(只需将 2 个控件叠加在一起)

然后用旋转回调链接这两个控件:

  - (void) rotation: (CGFloat) angle
{
    // calculate rotation angle
    imageAngle += angle;
    if (imageAngle > 360)
        imageAngle -= 360;
    else if (imageAngle < -360)
        imageAngle += 360;

 progress = imageAngle/360.0;
}

DACCircularProgress 视图 + OneFingerRotationGestrureRecognizer

于 2012-03-13T18:53:21.240 回答