可能是副本,但我找不到我今晚搜索问题的确切答案......
我有UIButton
,其中包含UIScrollView
,因此该按钮是超级视图。
我想要做的就是将UIScrollView
子视图中的单击事件传递给UIButton
超级视图,并让UIButton
处理它,就像用户点击了直接按钮。
将滚动视图的userInteractionEnabled
属性设置为NO
对我不起作用,因为用户可以滚动内容。这样做会破坏滚动视图的目的。
这可能吗?谢谢!
答案 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的超级视图。或者告诉我们更多关于你的用例的信息,这样我就能理解为什么你必须以这种方式进行设计。