0

我有一个 UILabel。我想点亮其中的触摸区域。也就是说,当我点击该UILabel中的一个点时,触摸点周围的一个小圆形部分应该会呈现出发光的效果。怎么能得到这个?

4

3 回答 3

0

UILabel 不响应触摸。

使用具有自定义类型的 UIButton 并为正常状态和(发光)突出显示状态提供图像。

于 2011-10-15T04:49:14.043 回答
0

好吧,您可以通过根据您想要发光的方式创建一个CALayer或一个来做到这一点,并将其作为子层添加到触摸位置的标签层。CAGradientLayer

要启用触摸UILabel,请查看userInteractionEnabled属性。您需要将其设置为YES.

然后,您需要UITapGestureRecognizer在标签上附加一个以获取水龙头。获得触摸位置后,将自定义发光层作为子视图添加到处于不可见状态的标签层。为发光层设置动画。您可能需要重复几次,然后在完成时将发光层作为子层移除。

于 2011-10-15T04:57:50.787 回答
0

手势识别器很好,但是如果你想做一些在手指触摸时开始,在手指停止触摸时停止,并在手指之间移动的东西,那么很难想到一个好的手势识别器。我认为在这种情况下,最好只使用 touchesBegan、touchesMoved 和 touchesEnded(不要忘记 touchesCancelled)。

您可以将这些方法放在您的视图控制器或 UILabel 的子类中。无论哪种方式,在标签上设置 userInteractionEnabled = YES。

至于如何以图形方式产生这种效果,我目前没有任何聪明的想法。

于 2011-10-15T05:22:21.870 回答