gpt4 book ai didi

ios - 拖动按钮时 ScrollView 不滚动

转载 作者:IT王子 更新时间:2023-10-29 07:41:49 26 4
gpt4 key购买 nike

我有一个 ScrollView ,当它上面没有按钮时,它可以滚动。现在可以了,当拖动鼠标时(在模拟器上)没有任何反应(我想是因为按钮被按下了)。我怎样才能做到这一点?

最佳答案

这是因为 UIButtonUIScrollView subview (我假设在您的情况下按钮被添加为 subview )正在跟踪触摸而不是 ScrollView 。 UIScrollView 方法 touchesShouldCancelInContentView 是这里的关键。根据其描述:“如果 View 不是 UIControl 对象,则默认返回值为 YES;否则返回 NO。”,即对于 UIControl 对象(按钮),UIScrollView 不会尝试取消阻止滚动的触摸。

因此,要允许使用按钮滚动:

  1. 确保 UIScrollView 属性 canCancelContentTouches 设置为 YES
  2. 子类 UIScrollView 并覆盖 touchesShouldCancelInContentView 以在内容 View 对象是 UIButton 时返回 YES,如下所示:
- (BOOL)touchesShouldCancelInContentView:(UIView *)view
{
if ( [view isKindOfClass:[UIButton class]] ) {
return YES;
}

return [super touchesShouldCancelInContentView:view];
}

关于ios - 拖动按钮时 ScrollView 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3512563/

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