关于CALayer和UIView的问题

时间:2011-06-18 05:09:54

标签: iphone uiview calayer

目标是实现一个半透明层,在需要时可以滑出以收集用户响应。半透明层上会有一些图标供用户选择。目前我正在使用一个似乎没问题的CALayer对象,它有一些动画行为。

但问题是CALayer根本没有对任何触摸事件做出反应。现在我想我应该使用UIView代替。 UIView继承自UIResponder,因此其对象自然能够响应用户的事件。

这是UIView和CALayer之间的决定。对于CALayer,我已经做了很多工作,除了必须添加的触摸响应外,它看起来还不错。或者我应该使用UIView作为子视图(因为它具有内置触摸响应)?

希望有人知道这一点可以帮助......

1 个答案:

答案 0 :(得分:5)

为了响应用户互动,最好的方法是使用UIView。你可以在没有它的情况下让它工作,但我不推荐它。

至于将现有图层与UIView进行整合,我会创建一个UIView的子类,并覆盖其+layerClass方法以返回您的自定义Class {1}}。或者,如果您没有使用自定义CALayer子类(并且通常不需要创建自己的子类),您可以在CALayer的{​​{3}内进行自定义绘制。方法。