2013-04-02 34 views
19

Tôi cố gắng này:biết nếu UITableView đã cuộn đầu trang

- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView 

Nhưng nó không chớp khi tôi cuộn xem bảng lên đến đỉnh.

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 

Tắt lửa để đại biểu không phải là vấn đề.

Trong viewDidLoad Tôi cũng thiết lập [myTbl setDoesScrollToTop:YES];

+0

không scrollViewDidScrollToTop lửa, khi bạn chạm vào thanh trạng thái? – Felix

Trả lời

48

Các scrollViewDidScrollToTop: phương pháp hoả hoạn khi người dùng nhấp chuột vào thanh trạng thái và tài sản scrollsToTop được thiết lập để YES. Từ tài liệu:

Chế độ xem cuộn sẽ gửi thư này khi nó cuộn xong lên đầu nội dung. Nó có thể gọi nó ngay lập tức nếu phần đầu của nội dung đã được hiển thị. Đối với cử chỉ di chuyển đến đầu (một lần nhấn trên thanh trạng thái) để có hiệu lực, thuộc tính scrollsToTop của UIScrollView phải được đặt thành CÓ.

Nó không kích hoạt nếu người dùng cuộn theo cách thủ công lên trên cùng. Nếu bạn muốn xử lý trường hợp này, bạn sẽ phải triển khai phương thức scrollViewDidScroll: và kiểm tra xem cuộn có ở trên cùng không.

Bạn có thể kiểm tra điều này thông qua việc sở hữu contentOffset ví dụ .:

if (scrollView.contentOffset.y == 0) { // TOP } 
+0

Ah. Gotcha. Cảm ơn. – JoshDG

+0

Đẹp, giải thích rất nhiều. – RainCast

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