在setContentOffset之后无法与UIScrollView交互

时间:2013-05-07 12:03:16

标签: ios objective-c cocoa-touch uiscrollview

在我的应用程序中,我有一个小区域,我可以拖动我的手指并相应地移动一个更大的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];
}

1 个答案:

答案 0 :(得分:0)

我最终继承了UIScrollView并使用了它:

#import "scrollViewWithButtons.h"

@implementation scrollViewWithButtons

- (BOOL)touchesShouldCancelInContentView:(UIView *)view
{
    return ![view isKindOfClass:[UIButton class]];
}

@end