使触摸在 UIView 子类中留下发光的痕迹

Posted

技术标签:

【中文标题】使触摸在 UIView 子类中留下发光的痕迹【英文标题】:Make touches leave glowing trails in UIView subclass 【发布时间】:2012-01-29 22:56:58 【问题描述】:

在 UIView 子类中,让触摸留下在短时间内消失的发光轨迹的最佳方式是什么?

这里的'Best'主要是指最简单、最高效的意思。我正在使用touchesBegan 等拦截触摸事件。我希望了解一些有关如何使用核心图形或其他策略来完成此操作的具体细节。褪色可能是这里的关键。

编辑:我有在drawRect 方法中以各种方式使用Core Graphics 绘制基于触摸的路径的经验。我很好奇实现褪色机制的特定方法不会产生巨大的性能成本。

【问题讨论】:

我认为您需要在 Core Graphics 上做一些基本工作,然后再提出具体问题。网络上应该有大量的信息。 【参考方案1】:

我会调查CAEmitterLayer。它经过高度优化,但仅适用于 ios 5。要创建发光轨迹,请调整发射器的 lifetime 属性。

要使用发射器来实现您的目标,我只想说您应该在-touchesMoved: withEvent: 中实现某种跟踪,使粒子发射器与用户的位置一起移动。

【讨论】:

以上是关于使触摸在 UIView 子类中留下发光的痕迹的主要内容,如果未能解决你的问题,请参考以下文章

全屏 UIView 子类作为面纱不消耗触摸事件

MVC:我应该在 View Controller 或 UIView 的自定义子类中添加和实现触摸手势吗

UIWebView 在我的 UITableViewCell 子类中覆盖触摸事件

在UIView上捕获和记录触摸事件

手势识别器阻止触摸已结束

如果collectionView低于某些uiview,iOS如何使collectionView接收触摸