我有一个UILabel。我想让触摸区域发光。也就是说,当我点击UILabel中的一个点时,触摸点周围的一个小圆形部分应该以发光效果呈现。怎么能得到这个?
你可以根据你想要的发光方式创建CALayer
或CAGradientLayer
,并将其作为子图层添加到触摸位置的标签层。
对于启用UILabel
的触摸,请查看userInteractionEnabled
属性。您需要将其设置为YES
。
然后您需要将UITapGestureRecognizer
附加到标签上以获得水龙头。一旦你有了触摸位置,添加自定义发光层作为标签层的子视图,处于不可见状态。动画发光层的内外。你可能想要重复几次,然后在完成时将发光层作为子层移除。
uilabel不响应触摸。
使用自定义类型的UIButton,并提供正常状态和(发光)高亮状态的图像
手势识别器很好,但如果你想做一些在手指触摸时开始,在手指停止触摸时停止,并在手指在中间移动的事情,那么很难想出一个好的手势识别器。我认为在这种情况下你最好使用touchesBegan, touchesMoved和touchesEnded(不要忘记touchesCancelled)。
你可以把这些方法放在你的视图控制器或子类UILabel上。无论如何,在标签上设置userInteractionEnabled = YES。
至于如何在图形上实现这种效果,我目前还没有任何聪明的想法。