【问题标题】:can't interact with UIScrollView after setContentOffsetsetContentOffset 后无法与 UIScrollView 交互
【发布时间】:2013-05-07 12:03:15
【问题描述】:

在我的应用程序中,我有一个小区域,我可以拖动手指并相应地移动更大的UIScrollViewUIScrollView 里面有很多按钮。

---*---*---*-

滚动视图

----容器

--------按钮

--------按钮

--------按钮

这很好用,UIScrollView 会按应有的方式移动,问题是在我完成拖动后,UIScrollView 变得对点击没有响应。如果我点击它上面的按钮,什么都不会发生。如果我在实际的 UIScrollView 上滑动一下,它将重置到其原始位置,并再次响应点击。

我很确定这是容器故障(删除它并将按钮添加到 UIScrollView 效果很好)但我需要具有缩放功能并且将容器添加到滚动视图是我知道的唯一方法。

- (void)draging:(UIControl *)c withEvent:ev {
    UITouch *touch = [[ev allTouches] anyObject];
    currentTouchPoint = [touch locationInView:self.view];
    NSLog(@"Draging x : %f y : %f", currentTouchPoint.x, currentTouchPoint.y);
   [_myScrollView setContentOffset:CGPointMake(currentTouchPoint.x*4, currentTouchPoint.y*2) animated:YES];
}

【问题讨论】:

    标签: ios objective-c cocoa-touch uiscrollview


    【解决方案1】:

    我最终继承了 UIScrollView 并使用了这个:

    #import "scrollViewWithButtons.h"
    
    @implementation scrollViewWithButtons
    
    - (BOOL)touchesShouldCancelInContentView:(UIView *)view
    {
        return ![view isKindOfClass:[UIButton class]];
    }
    
    @end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多