UIView带走第一响应者状态

想象一下当你将UITableView放入UIScrollView时的情况。 如果你点击桌面视图并开始垂直移动 - UITableView成为第一响应者,并将垂直滚动。 但是如果你将水平移动手指 - UIScrollView成为第一响应者,并将水平滚动。

我有类似的情况,而不是UIScrollView我有一个简单的UIView对象,拦截 - (void)touchesMoved:事件和移动(有点自制的ScrollView)。

但我怎么能做到与UIScrollView相同的技巧 - 确定水平移动并从UITableView中 抢走第一响应者状态

提前致谢!!!


您可以尝试在视图中覆盖canBecomeFirstResponder ,并在适当的时候返回适当的值。


你有没有尝试在视图上抛出一个UIPanGestureRecodnizer。 然后,您应该能够设置一个@选择器,它将允许您处理相关事件。 此外,您可以选择仅更改x元素并单独保留y元素。 更进一步,将泛元素附加到视图上,您​​不必担心有第一响应者。 如果您有加速和减速,泛元素可以将很多时间用作滑动元素。 除此之外,我还会说你还可以左右添加一个UISwipeGestureRecognizer元素,但我不认为你会得到诸如用户在多大程度上滑过意思的信息,如果你希望当用户还没有做到足够那么你就没有这个选择。 另外,如果你做了一些额外的编码,刷卡不会产生与UIScrollView相同的效果,但UIPanGestureRecognizer可以。 额外的编码将观察x值的位置,然后在用户放开视图时使用视图的一点点动画捕捉到右侧或左侧。 除此之外,如果您正确设置了x,则该视图应当并且将遵循手指。

链接地址: http://www.djcxy.com/p/7697.html

上一篇: UIView take away first responder status

下一篇: Dynamically Changing Keyboard Type for a UISearchBar