2011-06-27 86 views
2

有兴趣通过自己的模拟时钟应用程序创建 - 任何人都知道一些实现模拟时钟的示例项目/代码? (即不是数字时钟)。理想情况下,自定义背景和自定义小时/分钟手作为图像?模拟时钟的任何示例iPhone代码?

我注意到下面的链接存在,但被什么东西一点点更具体的匹配我在做什么希望(背景图片,图片中的小时/分针):Example Code

+0

HI @Greg有问题,我也想创建一个具有相同功能的模拟时钟。我有背景和小时/分钟图像的自定义图像。请帮我解决我的问题。谢谢 – Rani

回答

5

创建背景图像和每只手的图像(秒,分,小时 - 无论您想要什么)。每个图像必须与时钟一样大,但不能缩放。把手放在12分。用手将图像中的所有东西都设为alpha。

现在,将所有图像放在视图中的相同位置,并使用图像视图/井。你的时钟应该读取12点。

在您的代码中,创建一个将由计时器每秒调用一次的方法。此方法将旋转视图,以便双手旋转到正确的位置。您可以使用NSViewUIView的transform属性。


注:苹果解释对此进行了详细:"Translating, Scaling, and Rotating Views"。举个例子:

// M_PI/4.0 is one quarter of a half circle, or 45 degrees. 
CGAffineTransform xform = CGAffineTransformMakeRotation(M_PI/4.0); 
hourHandsImageView.transform = xform; 

只需通过改变图像,你可以改变外观。

+0

哦好吧 - 那么我可以澄清:然后:(一)背景图像/视图应该在当时呢? - 还没有尝试把视图放到背景中,(b)因此每个图像都是一个视图,然后旋转视图而不是图像本身呢? (c)你如何将时针UIView的基部居中到图像的中心 - 你是否通过参考父视图坐标来手动计算这个位置? – Greg

+0

@Greg(a)是的。 (b)旋转包含图像的图像视图。 (c)当您旋转视图时,视图不会移动。不要担心中心流离失所。 ;-)(顺便说一句,你可以设置一个图像的'center'属性来设置另一个图像的'center'属性,如果所有三个图像视图的'center'属性值相同,一切都很好。就这么简单。) –

+0

感谢兰迪 - 我现在就试试看,看看我能不能把它挂起来 – Greg