2012-04-30 27 views
5

Tôi muốn phát hiện khi người dùng đang cuộn UIScrollView. scrollViewDidScroll được gọi khi điều đó xảy ra, nhưng nó cũng được gọi trong một thời điểm khác - khi người dùng cuộn chế độ xem ra khỏi giới hạn và sau đó thả, chế độ xem quay lại vị trí của nó - và phương thức được gọi ngay cả khi người dùng không t chạm vào màn hình ở tất cả (chế độ xem được cuộn bởi chính nó).UIscrollView DidScroll - chỉ khi chạm

làm cách nào để tôi có thể phát hiện việc cuộn và người dùng chạm vào nhau?

Trả lời

9

UIScrollView có thuộc tính dragging cho biết liệu cuộn có được thực hiện bởi người dùng hay không. Vì vậy, để xem liệu người dùng có cuộn scrollview hay cuộn do một thứ khác (như hoạt ảnh) gây ra, bạn có thể thực hiện như sau:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    if (scrollView.dragging) { 
     // scrolling is caused by user 
    } 
} 
+1

thanks! đây chỉ là những gì tôi đang tìm kiếm –

+0

Tôi đã sử dụng tính năng này trong UICollectionView để kiểm tra xem cuộn có đang được thực hiện bởi người dùng hay theo chương trình hay không. –

+0

Thuộc tính 'kéo 'có được đặt chính xác khi người dùng rời khỏi màn hình và chế độ xem cuộn vẫn đang cuộn do động lượng không? –

Các vấn đề liên quan