0

我有两种观点,小时候一种高于另一种。View1--->View2(View1 有 View2 作为孩子)

如何编码此功能?1) 如果用户在 View2 上点击 - 所以正确的消息被点击:发送到 View2;2)如果用户只是在 View1(包括 View2)上移动手指 - 事件传递给 View1 以便它可以处理 touchesBegan: 等等。

所以我要编写的代码是如果触摸很短,则创建一个函数“[View2 tapped:...]”,如果触摸正在移动,则创建另一个函数([View1 touchesBegan:..] 等等)。

在我的情况下,如果我将手指移到 View2 上 - 它永远不会将事件传递给 View1。

Ps 我没有重写 hitTest 或任何东西。

4

2 回答 2

1

你应该看看UIGestureRecognizers。其中之一是UITapGestureRecognizer- 抓住有针对性的水龙头UIView。使用起来非常简单。看苹果文档。

于 2012-12-03T13:39:21.953 回答
1

手势识别器非常优雅地处理这种逻辑。在 view2 上有一个UITapGestureRecognizer,然后在 view1 上做任何你想做的事情(例如 a UIPanGestureRecognizer)。这会处理您需要的所有“哪些手势被哪些视图识别”逻辑。

于 2012-12-03T13:40:40.537 回答