2013-01-01 73 views
1

我有3個嵌套視圖,主視圖(父) - > UIScrollView - > ImageView。 我正在構建一個內容查看器,用戶通過滑動來獲取列表中的下一個/上一個圖像。但是我希望這個下一個圖像只在用戶到達最右邊/底部(圖像的結尾)或者最左邊/頂部的角落之後才加載。涉及到一個過渡動畫,在下一個/上一個圖像跟隨在加載下一個項目時的滑動。 我應該如何去實現這一目標?如何檢測UIScrollView作爲子視圖的父視圖中的滑動?

附:我已經嘗試在父視圖中添加手勢識別器,但它不起作用。

回答

0

看起來你正在使用scrollview來移動當前圖像,然後當用戶遇到兩個觸發點(左上/右下)的任何一個時,你想觸發動畫並在下一個加載圖片。如果是這種情況,爲什麼不使用scrollView委託方法-scrollViewDidScroll:(UIScrollView *)scroller?在該方法中,您可以檢查scrollView的contentOffset屬性,並將其與當前圖像的尺寸進行比較。當contentOffset落在觸發動畫和加載的參數範圍內時,請執行此操作。

+0

是的,我可以做到這一點。我嘗試添加一個委託給panGestureRecognizer,以識別滑動手勢,如果它到達圖像的末尾。 感謝您的回覆。 –

+0

如果有效,你能接受答案嗎? –

0

你應該用滑動手勢

UISwipeGestureRecognizer *swipe_left = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe_left)]; 
    swipe_left.direction = UISwipeGestureRecognizerDirectionLeft; 
    [yourView addGestureRecognizer:swipe_left]; 
UISwipeGestureRecognizer *swipe_right = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe_right)]; 
    swipe_right.direction = UISwipeGestureRecognizerDirectionRight; 
    [yourView addGestureRecognizer:swipe_right]; 

-(void)swipe_left 
{ 
    //Write your content offset if required 
} 


-(void)swipe_right 
{ 

    someView.contentOffset = CGPointMake(470, 0);  //Example 
} 

問候

迪帕克

新年快樂!

+0

我已經嘗試在主視圖中添加手勢識別器。但是滾動視圖正在消除所有的手勢。 –

相關問題