UIScrollView禁用所有其他用户交互?

时间:2012-01-06 01:20:10

标签: iphone uinavigationcontroller uiscrollview uialertview

我遇到了UIScrollView的问题。我想用导航控制器调用视图。我的代码有一种检测轻敲手势的方法,从而隐藏或显示导航栏和工具栏。

我还有一种方法,当用户按下按钮时,会显示UIAlertView。当隐藏滚动视图时(我将代码注释掉),这些工作正常,但是当我添加视图时,手势识别和UIAlertView似乎不起作用?然而,导航栏上的按钮可以正常工作......

关于如何启用它们的任何想法?下面是我调用ScrollView的代码:

  scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,     self.view.frame.size.height)];
    scroll.pagingEnabled = YES;
    NSInteger viewCount = 15;
    for (int i = 0; i < viewCount; i++) {
        CGFloat yOrigin = i * self.view.frame.size.width;
        UIImageView *filterViewOverlay = [[UIImageView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
        [filterViewOverlay setImage:[filterManager objectAtIndex:i]];
        [scroll addSubview:filterViewOverlay];
        [filterViewOverlay release];
    }
    scroll.contentSize = CGSizeMake(self.view.frame.size.width * viewCount, self.view.frame.size.height);
    [self.view addSubview:scroll];
    [scroll release];

提前干杯!

劳伦斯

2 个答案:

答案 0 :(得分:0)

确保Scrollview落后于所有其他IBOutlet,并确保启用了用户交互。

答案 1 :(得分:0)

注意滚动视图的delaysContentTouches属性。默认值为YES,这意味着滚动视图不会转发触摸事件,直到它确定触摸是否是其识别的手势的一部分,例如滚动或缩放。