2012-01-06 115 views
1

我有一个UIScrollView的问题。我想用导航控制器调用视图。我的代码有一个方法来检测轻敲手势,从而隐藏或显示导航栏和工具栏。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]; 

提前欢呼!

劳伦斯

回答

0

确保滚动型是所有其他IBOutlets的背后,并启用了一定的用户交互。

+0

你会如何将scrollView放在导航栏后面?不是导航栏链接到scrollView加载的nab控制器?另外,在按下按钮后(它工作),在scrollView之后调用警告视图,但仍然不显示,因此scrollView(我假设)已经在后面。至于IBOutlets,没有,因为它们全都实用编码到导航栏/工具栏 – 2012-01-06 01:40:17

0

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

+1

我使用了代码scroll.delaysContentTouches = NO;但仍然没有用。我正在尝试仅使用一次水龙头作为手势。 – 2012-01-06 15:08:43