从UIScrollView到superview(UIButton)的触摸

时间:2012-01-12 05:46:43

标签: iphone ios cocoa-touch uiview uiscrollview

可能是副本,但我找不到我今晚搜索问题的确切答案......

我有UIButton,其中包含UIScrollView,因此该按钮是超级视图。

我想要做的就是将UIScrollView子视图中的单击事件传递给UIButton超级视图,并让UIButton处理它,就像用户点击了直接按钮。

将滚动视图的userInteractionEnabled属性设置为NO对我不起作用,因为用户可以滚动内容。这样做会破坏滚动视图的目的。

这可能吗?谢谢!

3 个答案:

答案 0 :(得分:2)

就像huoxinbird所说的那样,提出这样的观点绝对不常见。

如果您对此非常坚定,可以使用UITapGestureRecognizer并让它调用按钮的目标和选择器。

如果你想要包含按钮高亮等等,那么你可能需要继承UITapGestureRecognizer并将touchesEnded转发给按钮。

答案 1 :(得分:1)

创建scrollview的子类并覆盖

-(BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view
{
return YES;
}

也是uibutton(你的超级视图)的子类,并开始触摸触摸。

答案 2 :(得分:0)

通常,您不会将scrollview放在按钮中。而是考虑使用UIView作为scrollview的超级视图。或者告诉我们更多关于你的用例的信息,这样我就能理解为什么你必须以这种方式进行设计。