目标是实现一个半透明层,在需要时可以滑出以收集用户响应。半透明层上会有一些图标供用户选择。目前我正在使用一个似乎没问题的CALayer对象,它有一些动画行为。
但问题是CALayer根本没有对任何触摸事件做出反应。现在我想我应该使用UIView代替。 UIView继承自UIResponder,因此其对象自然能够响应用户的事件。
这是UIView和CALayer之间的决定。对于CALayer,我已经做了很多工作,除了必须添加的触摸响应外,它看起来还不错。或者我应该使用UIView作为子视图(因为它具有内置触摸响应)?
希望有人知道这一点可以帮助......
答案 0 :(得分:5)
为了响应用户互动,最好的方法是使用UIView
。你可以在没有它的情况下让它工作,但我不推荐它。
至于将现有图层与UIView
进行整合,我会创建一个UIView
的子类,并覆盖其+layerClass
方法以返回您的自定义Class
{1}}。或者,如果您没有使用自定义CALayer
子类(并且通常不需要创建自己的子类),您可以在CALayer
的{{3}内进行自定义绘制。方法。