2013-08-22 37 views
0

我在我的IOS項目中添加了ICarousel,它工作正常。我可以滾動圖片。UIScrollView中的ICarousel

然後我的視圖包含另一個數據。所以我需要添加一個覆蓋我所有視圖的UISCrollView。所以,現在,我在ScrollView中有一些元素(標籤,textViews和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方法,當我試圖水平滾動。

我在哪裏錯了?

+1

你知道iCarousel是否使用'UIGestureRecognizers'或'touchesBegan'? –

+0

它似乎在這裏使用它:https://github.com/nicklockwood/iCarousel/blob/master/iCarousel/iCarousel.m#L1967 –

回答

1

看起來像手勢識別器之間的衝突,因爲默認情況下,任何時候只有一個可以處於活動狀態。

不確定爲什麼您的滾動視圖覆蓋了所有內容,但是您應該能夠讓您的控制器成爲手勢的代表並執行gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:以允許它們同時識別。


UIScrollViewpanGestureRecognizer屬性,您可以訪問到自己設置爲代表。

iCarousel有點不同,因爲它不會公開手勢,所以如果在滾動視圖上設置委託不起作用,您可以編輯輪播(它將自己設置爲委託)以實現委託方法。

+0

我認爲這可能是解決方案。我嘗試了一些,但它不起作用。我編輯我的問題。謝謝 –

+0

哪些getstures作爲'otherGestureRecognizer'傳遞?您是否嘗試將自己添加爲其他手勢的代表(如滾動視圖平移手勢和旋轉木馬平移手勢)? – Wain

+0

看來'otherGestureRecognizer'總是空的。對不起,我是ios開發的新手,你有沒有添加其他手勢代表的例子? –