gpt4 book ai didi

ios - UIButton 不响应嵌套在另一个 UIScrollView 中的 UIScrollView 中的触摸

转载 作者:行者123 更新时间:2023-11-30 14:00:44 24 4
gpt4 key购买 nike

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

由于某种原因,水平(嵌套)UIScrollView 中的 UIButtons 似乎没有响应触摸。

我已尝试以下所有方法:

子类化 UIScrollViews 并重写 TouchesShouldCancelInContentView 方法,如下所示:

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

return !view.isKindOfClass(UIButton)

}

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

我的 UIScrollViews 具有以下内容:

UISCROLLVIEW.delaysContentTouches = false
UISCROLLVIEW.canCancelContentTouches = true

我尝试过修改这些值,但从未设法在嵌套的 UIScrollView 中嵌套的 UIButton 上获取触摸事件。我已经开始怀疑这是否真的可能......尽管 AppStore 似乎正在这样做。或者是因为他们正在使用 UICollectionViews

有什么建议吗?

编辑:我想确保当我单击 UIButton 时 UIScrollView 的触摸事件被取消,因此我记录了 UIScrollView 的touchesBegan,果然我在 UIScrollView 中的任何地方都在控制台中得到了打印,除了当我触摸 UIButton 时。然而 - 这很奇怪 - 如果我子类化 UIButton 并覆盖 TouchBegan 我不会得到日志!真是亏大了……

最佳答案

将按钮置于前面

bringSubviewToFront:

关于ios - UIButton 不响应嵌套在另一个 UIScrollView 中的 UIScrollView 中的触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33034671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com