Cocoa iPhone SDK 开发 - 如果 UIImageView 附加了 CABasicAnimation,则 touchesBegan 方法不起作用
Posted
技术标签:
【中文标题】Cocoa iPhone SDK 开发 - 如果 UIImageView 附加了 CABasicAnimation,则 touchesBegan 方法不起作用【英文标题】:Cocoa iPhone SDK development - touchesBegan method not working if the UIImageView has CABasicAnimation attached 【发布时间】:2011-04-09 02:16:30 【问题描述】:我创建了一个派生自 UIImageView 的类(类名 Customer)。 在这个 Customer 类中,我实现了方法“touchesBegan”。
另外,我将 CABasicAnimation 应用到 Customer 类的层。 (动画只是移动图像视图。这是必要的,因为我想跟踪 animationDidStop 事件)。
问题是当我触摸图像视图的当前位置时,touchesBegan 不起作用。它仅在我触摸原始框架(创建它的位置)时才起作用。
我的建议是 touchesBegan 不是在presentationLayer上应用,而是在原始frame上应用。
你有办法解决这个问题吗? 我真的很想从 Customer 类中解决这个问题,而不是从主 UIViewController。
非常感谢, 沙哈尔。
【问题讨论】:
【参考方案1】:您是否为Customer
类启用了userInteraction
标志到YES
。
谢谢,
【讨论】:
是的,我有。当我单击原始框架的位置时,它确实有效。但是框架通过 CABasicAnimation 移动,它改变了presentationLayer。我希望在presentationLayer中捕捉到点击..以上是关于Cocoa iPhone SDK 开发 - 如果 UIImageView 附加了 CABasicAnimation,则 touchesBegan 方法不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Cocoa/iPhone:BackgroundColor 和 Opaque 属性
如何让 Cocoa 明白我的 iPhone 应用程序不是英文的?