2012-02-16 36 views
9

Tôi đã đọc của Apple Scroll Xem Lập trình Hướng dẫn dành cho iOS nhưng vẫn còn lẫn lộn về phía sau:UIScrollView: chênh lệch giữa setContentOffset: hoạt hình và scrollRectToVisible: animated

cuộn để một cụ offset

cuộn đến một vị trí trên cùng bên trái (thuộc tính contentOffset) có thể được thực hiện theo hai cách. Phương thức setContentOffset: animated: phương thức cuộn nội dung đến offset nội dung được chỉ định. Nếu tham số hoạt hình là CÓ, cuộn sẽ hoạt hình từ vị trí hiện tại đến vị trí được chỉ định ở tốc độ không đổi. Nếu tham số hoạt ảnh là KHÔNG, thì di chuyển ngay lập tức và không có hoạt ảnh nào mất địa điểm. Trong cả hai trường hợp, đại biểu được gửi một thông báo scrollViewDidScroll: . Nếu hoạt ảnh bị tắt hoặc nếu bạn đặt nội dung bù đắp bằng cách đặt thuộc tính contentOffset trực tiếp, đại biểu sẽ nhận được một thông báo scrollViewDidScroll: . Nếu hoạt ảnh được bật, thì đại biểu sẽ nhận được một chuỗi scrollViewDidScroll: các tin nhắn là hoạt ảnh đang được tiến hành. Khi hoạt ảnh hoàn tất, người đại diện nhận được thông báo scrollViewDidEndScrollingAnimation:.

Làm một hình chữ nhật có thể nhìn thấy

Nó cũng có thể di chuyển một khu vực hình chữ nhật để nó là nhìn thấy được. Điều này đặc biệt hữu ích khi ứng dụng cần hiển thị điều khiển hiện đang nằm ngoài khu vực hiển thị vào chế độ xem hiển thị . Phương thức scrollRectToVisible: animated: cuộn hình chữ nhật được chỉ định để nó chỉ hiển thị trong chế độ xem cuộn. Nếu tham số hoạt ảnh là CÓ, hình chữ nhật sẽ được cuộn vào chế độ xem với tốc độ không đổi. Như với setContentOffset: hoạt hình :, nếu hoạt ảnh bị vô hiệu hóa, đại biểu được gửi một scrollViewDidScroll duy nhất: tin nhắn. Nếu hoạt ảnh được bật, đại biểu sẽ được gửi một loạt các số scrollViewDidScroll: thông báo dưới dạng hoạt ảnh. Trong trường hợp scrollRectToVisible: hoạt ảnh: theo dõi của chế độ xem cuộn và kéo các thuộc tính cũng KHÔNG.

Nếu hình ảnh động được kích hoạt cho scrollRectToVisible: animated :, các đại biểu nhận scrollViewDidEndScrollingAnimation: tin nhắn, cung cấp thông báo rằng xem di chuyển đã đến tại địa điểm quy định và hình ảnh động hoàn tất.

Tôi nghĩ rằng nó khá giống nhau giữa setContentOffset: hoạt ảnh và scrollRectToVisible: hoạt ảnh, ai đó có thể đưa ra một số gợi ý về chúng?

Và cuộnRectToVisible: animated: tương tự như scrollViewDidEndDecelerating: animated: too.

Trả lời

14

Câu trả lời ngắn:

setContentOffset: animated giữ gìn zoomscale.

scrollRectToVisible: hoạt hình có thể thay đổi.

+0

Cảm ơn, mọi người khác? – ThinkChris

+1

Nếu bạn sử dụng setContentOffset: animated: bạn có thể cuộn ra ngoài contentSize. –

+0

@GustafRosenblad Điều đó không đúng, bạn không thể cuộn bên ngoài contentSize bạn sẽ phải thêm nội dung inset. –

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