2009-12-28 13 views
28

tôi đã triển khai UIScrollViewDelegate giao thức trong file .h của tôi và tôi đã thực hiện phương phápUIScroll Xem Đại biểu không gọi ScrollViewDidEndScrollingAnimation

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView 

trong lớp .m tôi. khi cuộn được thực hiện trong bảng của tôi xem phương pháp đại biểu khác của scrollview đang nhận được gọi, nhưng khi di chuyển kết thúc, -scrollViewDidEndScrollingAnimation: không nhận được gọi. Tôi hơi mắc kẹt trong chuyện này.

Trân trọng cảm ơn

Trả lời

92

-scrollViewDidEndScrollingAnimation: được gọi khi cuộn có lập trình được tạo xong.
-scrollViewDidEndDecelerating: được gọi khi cuộn người dùng vuốt hoàn tất.

+2

+1 và cảm ơn bạn đã giải thích sự khác biệt giữa hai phương thức đại biểu. Tôi nghĩ rằng đây sẽ là câu trả lời được chấp nhận! –

+4

Và nếu bạn cũng muốn phản ứng khi người dùng kéo chế độ xem cuộn, nhưng giải phóng nó mà không cần cuộn cuộn, bạn cũng nên thực hiện phương thức 'scrollViewDidEndDragging'', bạn có thể kiểm tra tham số bool' 'willDecelerate'' để quyết định xem bạn có phải thực thi mã ở đây hoặc trong phương thức 'scrollViewDidEndDecelerating'' hay không. – TheEye

2

tôi đã cùng một vấn đề ... Hãy thử sử dụng scrollViewDidEndDecelerating để thay thế.

2

Đã xảy ra sự cố tương tự. Đã sử dụng các mục sau trong lớp đại biểu của tôi:

#pragma mark - 
#pragma mark UIScrollViewDelegate 
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 

    NSLog(@"lol"); 
} 

hoạt động như một sự quyến rũ!

+0

Xin cảm ơn sự trợ giúp lớn. Bạn đã gửi báo cáo lỗi về điều này chưa? Tôi vừa mới gửi rdar: // 8810881 http://openradar.appspot.com/8810881. – theory

1

tôi đã cùng một vấn đề và vấn đề là tôi đã không bao gồm mã đại biểu:

self.myScrollView.delegate=self; 

Hy vọng điều này sẽ giúp người là tốt.

0

Swift?

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { 

}