0

我将 ICarousel 添加到我的 IOS 项目中,它运行良好。我可以滚动图片。

然后我的视图包含另一个数据。所以我需要添加一个 UISCrollView 覆盖我所有的视图。所以,现在,我的 ScrollView 中有一些元素(标签、文本视图和 ICarousel 的 UIVIew)。

ScrollView 工作正常。但是现在,ICarousel 不会切换图片。图片已加载(我看到第一张和第二张的一部分),但轮播不再起作用。

有人有同样的问题吗?如何解决?

编辑:

在@Wain 建议之后,我尝试了这个:

- (void)viewDidLoad
{
    UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
    [self.view addGestureRecognizer:panRecognizer];

    panRecognizer.delegate = self;   
}
- (void)pan:(id)sender {
    NSLog(@"Pan");
}

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
    return YES;
}

它不起作用,但我检查了一个断点,shouldRecognizeSimultaneouslyWithGestureRecognizer当我尝试水平滚动时它运行了方法。

我哪里错了?

4

1 回答 1

1

看起来像是手势识别器之间的冲突,因为默认情况下,任何时候都只能激活一个。

不知道为什么您的滚动视图涵盖了所有内容,但您应该能够使您的控制器成为手势的代表并实施gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:以允许它们同时识别。


UIScrollView有一个panGestureRecognizer属性,您可以访问该属性以将自己设置为委托。

iCarousel有点不同,因为它不会使手势公开可用,因此如果在滚动视图上设置委托不起作用,您可以编辑轮播(将自身设置为委托)以实现委托方法。

于 2013-08-22T15:48:51.273 回答