滚动视图,按钮事件交换

Posted

技术标签:

【中文标题】滚动视图,按钮事件交换【英文标题】:scrollview, buttons events exchange 【发布时间】:2013-05-07 08:33:31 【问题描述】:

我有一个滚动视图,在其中添加了几个按钮(以动态方式、以编程方式)。因此,我的视图完全被按钮所覆盖。还有一些标签

但是,我观察到在按钮上开始拖动时 uiscrollview 没有滚动。所有标签工作正常。但我希望发生这种滚动,即当 uibutton 中发生拖动事件时,我希望它将此事件发送到其父视图(滚动视图)。

请注意,根据我的搜索,子类化滚动视图并覆盖内容触摸事件,或将触摸开始操作添加到 uibuttons 没有帮助。

当对象被动态添加时,通常如何处理传递事物的事件?

【问题讨论】:

【参考方案1】:

你必须继承UIScrollView,没有其他合适的方法,但你不需要弄乱触摸事件。你所要做的就是重写这个方法

- (BOOL)touchesShouldCancelInContentView:(UIView *)view 
  return YES;

并将UIScrollViewcanCancelContentTouches 属性设置为YES。

【讨论】:

以上是关于滚动视图,按钮事件交换的主要内容,如果未能解决你的问题,请参考以下文章

在滚动视图的可见区域之外创建的视图上的触摸事件

当视图控制器内部有滚动视图时处理键盘事件

从滚动视图打开子视图

25.Flutter的ListView监听滚动事件之ScrollController

在ios 7 xcode中单击滚动视图上方的按钮时,如何滚动滚动视图?

ios 滚动视图上方的tableview,滚动视图上的按钮无法点击