gpt4 book ai didi

ios - 在 UIScrollView 之上使用 UIView 处理滚动,ScrollView 不会滚动

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:45:25 26 4
gpt4 key购买 nike

我想检测顶部有 UIView 的 UIScrollView 中的触摸。此 UIView 上有按钮,因此我无法在 UIView 上禁用 userInteractionEnabled

为了更好地理解,这里是层次结构:

UIView (MainView: (0,0) 320x460)
. .UIScrollView (ScrollView: (0,0) 320x460)
. .UIView (OverlayView: (0,0) 320x250)
. . . .UIButton (button1: 50x50)
. . . .UIButton (button2: 50x50)
. . . .UIButton (button3: 50x50)

当触摸出 OverlayView 时,我可以滚动。但不在 OverlayView 的空白处。

有什么建议吗?谢谢!

最佳答案

尝试将覆盖 View 添加为 ScrollView 的 subview ,然后在 ScrollView 滚动时更新覆盖 View 的框架。

在初始化时将原始覆盖帧保存在成员变量中

CGRect baseOverlayRect = overlayView.frame;

ScrollView 委托(delegate)方法。

- (void) scrollViewDidScroll:(UIScrollView *)scrollView {

CGPoint overlayOrigin = CGPointMake(baseOverlayRect.origin.x, baseOverlayRect.origin.y + scrollView.contentOffset.y);
CGRect newOverlayFrame = CGRectMake(overlayOrigin.x, overlayOrigin.y, baseOverlayRect.width, baseOverlayRect.height);
overlayView.frame = newOverlayFrame;

}

关于ios - 在 UIScrollView 之上使用 UIView 处理滚动,ScrollView 不会滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402301/

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