【问题标题】:Drawing a 'turning wheel' using Core Graphics?使用 Core Graphics 绘制“转轮”?
【发布时间】:2010-08-11 16:38:43
【问题描述】:

谁能提供一个使用 Core Graphics 绘制 类似 iPhone 转轮的示例。我知道这可以通过绘制一系列线来完成,但这需要一个 数学公式 来计算线点。 有人可以帮我吗?

它应该是这样的:

它看起来像是由几条带有圆形边缘的线条和中间画一个圆圈组成的。画线需要复杂的数学。

【问题讨论】:

  • 模糊标签,我不知道你在处理什么?猜猜赢得 Mobile 6?
  • 呃,我猜有很多平台使用 Objective-C 并具有核心图形。哦等等,只有两个。
  • 有没有想过 leppie 可能不知道?
  • 好吧,我很抱歉,但我想每个人都知道 Objective-C 是 MacOS X 及其衍生语言的原生语言。 (和已死的 NeXTStep)
  • leppie 可能不知道现在使用 Objective-c 来创建 Mac OS X 应用程序,并且 Core Graphics 是 Mac OS X 框架的一部分;不过,说这个问题太模糊并不准确。

标签: iphone objective-c core-graphics


【解决方案1】:

这不需要复杂的数学,只需要简单的几何。圆上的点用方程描述

 x = r * cos a
 y = r * sin a

对于半径 r 和从 0 到 2π 的任意角度 a

您可以通过将整个圆 (2π) 除以所需的线数来计算角度。使用这些信息,您可以计算线条的起点和终点并绘制它们。

但最好使用系统提供的进度指示器或将动画帧存储为图像并绘制它们,而不是依赖代码来完成所有绘制。

【讨论】: