在钟面上旋转 UILabel
Posted
技术标签:
【中文标题】在钟面上旋转 UILabel【英文标题】:Rotate UILabel On Clockface 【发布时间】:2015-07-09 13:59:52 【问题描述】:是否可以围绕表盘旋转 UILabel 或类似的东西?
例如,如果我有一个从 1 到 12 的数字数组,它将以循环方式呈现。但是,通过触摸事件,我可以在时钟的表面上移动标签,即我可以向右移动 12 直到它到达 6,而所有其他数字都保留在它们的位置上。
我考虑过 UIPicker,但它遵循“从上到下”的方法。我需要一个解决方案,在保持其他标签顺序的同时围绕一个点移动标签。
【问题讨论】:
【参考方案1】:这只是一个相反的旋转变换的问题。旋转钟面,同时将所有子视图编号沿相反方向旋转相同的量。
【讨论】:
【参考方案2】:推荐:
1 没有大小手柄的时钟(作为图像)在 ImageView 中设置。
2 另外两个图像视图,一个用于小手,另一个用于大手。
3 根据需要使用以下代码旋转手(UIImageView)。
#define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)
UIImageView *smallHand = set your smallHand image view here;
UIImageView *bigHand = set your bigHand image view here;
// Small hand
CGAffineTransform smallHandTransform = CGAffineTransformRotate(self.transform, (DEGREES_TO_RADIANS(1)));
// Big hand
CGAffineTransform bigHandTransform = CGAffineTransformRotate(self.transform, (DEGREES_TO_RADIANS(1*0.60)));
// Apply rotation
smallHand.transform = smallHandTransform;
bigHand.transform = bigHandTransform;
我知道这个问题是旋转标签,如果您需要它,请在 UILabel 上应用此转换。
我希望有人会利用这个想法。祝你好运:)
Here is the example project
【讨论】:
以上是关于在钟面上旋转 UILabel的主要内容,如果未能解决你的问题,请参考以下文章
KMP最小表示法NCPC 2014 H clock pictures