繁体   English   中英

UIButton没有响应嵌套在另一个UIScrollView中的UIScrollView中的触摸

[英]UIButton not responding to touch in UIScrollView nested in another UIScrollView

我一直在寻找解决以下问题的方法:我有一个UIScrollView (垂直滚动),其中嵌套了另一个UIScrollView (水平)。 两个UIScrollViews还嵌套有UIButtons 但是, UIButtons仅响应父UIScrollView (垂直)中的触摸。

由于某种原因,水平(嵌套) UIScrollViewUIButtons似乎对触摸没有响应。

我已经尝试了以下所有方法:

子类化UIScrollViews并覆盖touchesShouldCancelInContentView方法,如下所示:

override func touchesShouldCancelInContentView(view: UIView) -> Bool {        

   return !view.isKindOfClass(UIButton)

} 

我还尝试从父UIScrollView取消对嵌套UIScrollView触摸,但是后来我无法再垂直滚动。

我的两个UIScrollViews都具有以下内容:

UISCROLLVIEW.delaysContentTouches = false
UISCROLLVIEW.canCancelContentTouches = true

我曾尝试弄乱这些值,但从未设法在嵌套在UIScrollViewUIButton上获取触摸事件。 我已经开始怀疑这是否确实可行……尽管看上去AppStore正在这样做。 还是因为他们正在使用UICollectionViews

有什么建议么 ?

编辑:我想确保当我单击UIButton时,UIScrollView的触摸事件被取消,因此我记录了UIScrollView的touchesBegan,并确保我在触摸时在UIScrollView EXCEPT中的任何地方都能在控制台中得到打印UIButton。 但是-这很奇怪-如果我继承UIButton并重写touchesBe开始,我将不会获得日志! 真的很失落……

将按钮置于前面

bringSubviewToFront:

试试吧。

yourButtonObject.layer.zPosition = 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM