我有3個嵌套視圖,主視圖(父) - > UIScrollView - > ImageView。 我正在構建一個內容查看器,用戶通過滑動來獲取列表中的下一個/上一個圖像。但是我希望這個下一個圖像只在用戶到達最右邊/底部(圖像的結尾)或者最左邊/頂部的角落之後才加載。涉及到一個過渡動畫,在下一個/上一個圖像跟隨在加載下一個項目時的滑動。 我應該如何去實現這一目標?如何檢測UIScrollView作爲子視圖的父視圖中的滑動?
附:我已經嘗試在父視圖中添加手勢識別器,但它不起作用。
我有3個嵌套視圖,主視圖(父) - > UIScrollView - > ImageView。 我正在構建一個內容查看器,用戶通過滑動來獲取列表中的下一個/上一個圖像。但是我希望這個下一個圖像只在用戶到達最右邊/底部(圖像的結尾)或者最左邊/頂部的角落之後才加載。涉及到一個過渡動畫,在下一個/上一個圖像跟隨在加載下一個項目時的滑動。 我應該如何去實現這一目標?如何檢測UIScrollView作爲子視圖的父視圖中的滑動?
附:我已經嘗試在父視圖中添加手勢識別器,但它不起作用。
看起來你正在使用scrollview來移動當前圖像,然後當用戶遇到兩個觸發點(左上/右下)的任何一個時,你想觸發動畫並在下一個加載圖片。如果是這種情況,爲什麼不使用scrollView委託方法-scrollViewDidScroll:(UIScrollView *)scroller
?在該方法中,您可以檢查scrollView的contentOffset
屬性,並將其與當前圖像的尺寸進行比較。當contentOffset
落在觸發動畫和加載的參數範圍內時,請執行此操作。
你應該用滑動手勢
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
}
問候
迪帕克
新年快樂!
我已經嘗試在主視圖中添加手勢識別器。但是滾動視圖正在消除所有的手勢。 –
是的,我可以做到這一點。我嘗試添加一個委託給panGestureRecognizer,以識別滑動手勢,如果它到達圖像的末尾。 感謝您的回覆。 –
如果有效,你能接受答案嗎? –