【发布时间】:2011-04-08 05:41:18
【问题描述】:
我创建了 UIView 的子类来处理 hitTest 和 Touches 操作,因为 UIView 是 UIScrollview 的子视图,我需要 UIView 和 UIScrollView 都是可拖动的。
我已经让它工作了 95% - 如果我设置背景颜色,子类 UIView 可以完美运行 - 但是如果我设置一个带有透明图像的子视图,它并不总是响应。我对此有一些想法,所以这不是问题。
我的问题是,由于我在 UIScrollview 上有多个子类 UIView 的实例,我怎么知道哪一个被拖动了。
在以前的应用程序中,我只是简单地使用过;
if ([touch view] == blah) {
//do something;
}
else if ([touch view] == fred) {
//do nothing;
}
但是因为它位于我的主应用程序 .m 文件中,所以没关系,因为 blah 和 fred 都是在 viewdidload 中创建的,但是由于我的代码中的触摸事件是在子类中捕获的,所以他们不知道 blah 和 fred .
所以 1) 我如何让子类知道我添加的项目 - 或 -
2) 我如何将项目的名称传递给 hitTest 或 TouchesBegan 中的子类 - 或 -
3)有没有一行代码可以获取当前项的名称
非常感谢任何帮助。
【问题讨论】:
标签: iphone object uiview uiscrollview subclass