2013-07-31 18 views
5

Đây không phải là một câu hỏi lập trình mà còn là câu hỏi "làm thế nào để thực hiện điều này" hơn.Cuộn chế độ xem sai (ví dụ như Yahoo thời tiết)

Tôi tò mò (và làm việc trên một ứng dụng có thể sẽ yêu cầu điều này) như thế nào là trái di chuyển sai trái thực hiện. Để biết chính xác những gì tôi có nghĩa là kiểm tra các ứng dụng thời tiết Yahoo (nó miễn phí - không phải lo lắng ở đó).

Có phải họ chỉ sử dụng một bộ điều khiển chế độ xem hoặc bộ điều khiển riêng cho mỗi chế độ xem được hiển thị ở đó không?
Cách dễ nhất để thực hiện điều này là gì? Tôi đã tìm thấy this topic here mà kinda giải thích nó một chút nhưng khi họ nhận được thông tin từ các máy chủ của họ? Có phải khi lượt xem được thay đổi hoặc khi khởi động ứng dụng?

Mọi thông tin về cách triển khai cuộn như vậy sẽ được đánh giá cao.

Trả lời

5

Nó thực sự đơn giản thực sự:

  • Subclass UIScrollView
  • Thêm một UIView * parallaxView; như @property
  • Thêm một CGFloat parallaxFactor như @property
  • layoutSubviews Override
  • Gọi siêu, và sau đó sử dụng self.scrollOffset * parallaxFactor đến vị trí parallaxView

Vậy là xong!

Tôi đã tạo một lớp con UIScrollView đa chức năng bản thân mình thật sự rất dễ sử dụng, hoàn hảo cho trường hợp này! Tải trên GitHub: https://github.com/LeonardPauli/LPParallaxScrollView

Chúc may mắn!

+0

Vâng, điều này xử lý phần hiển thị thực sự. Nhưng làm thế nào về chức năng? Ví dụ: nếu người dùng muốn cập nhật thời tiết, anh ta kéo chế độ xem xuống và nó làm mới với thông tin thời tiết mới nhất. Tôi nghi ngờ rằng họ sử dụng 'if's để xác định xem được trình bày. Bất kỳ ý tưởng? – Majster

+0

Toán đơn giản! Chẳng bao lâu .. –

+0

Tôi có nguồn mở một cái gì đó tôi đã thực hiện một thời gian trước đây! https://github.com/LeonardPauli/MYParallaxScrollView Chỉ cần sử dụng parallaxView.currentPageIndex :) Nhưng thậm chí tốt hơn, sử dụng một dọc khác nhau (parallax cho khối đơn giản) scrollview cho mỗi trang, với tải lại ở đó. (Đừng quên để làm cho các công nhận cử chỉ chặn nhau phải): D –

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