2014-04-06 14 views
28

Tôi có UICollectionView và khi một mục được chọn, tôi muốn nó hoạt ảnh toàn màn hình. Vì vậy, nó sẽ chuyển đổi từ kích thước của tế bào để toàn màn hình và trở thành một UIViewController. Cả Pinterest và Evernote đều có hành vi này khi chạm vào một ô chuyển đổi ô thành một bộ điều khiển xem toàn màn hình.Cách chuyển từ UICollectionView sang UIViewController như Pinterest/Evernote

Có ví dụ nào về cách thực hiện việc này không? Tôi đã tìm kiếm một số dự án, nhưng không tìm thấy bất kỳ minh họa nào về việc chuyển một ô sang chế độ xem toàn màn hình.

Pinterest thảo luận về nó ở đây: http://engineering.pinterest.com/post/67769846580/behind-the-pins-building-pinterest-3-0-for-ios

enter image description here

+0

bạn có bao giờ tìm thấy câu trả lời không? Tôi đang cố gắng làm tương tự ở đây .. –

+2

@OscarYuandinata Có thể bạn sẽ thử [repo] này (https://github.com/demon1105/PinterestSwift) – demon

+0

wow tuyệt vời! thx @demon –

Trả lời

19

Đó không phải là khó thực hiện quá trình chuyển đổi này. Cũng giống như bài viết cho biết, họ tùy chỉnh một quá trình chuyển đổi để thực hiện giao thức UIViewControllerAnimatedTransitioning, không có gì ngoài. Bạn cần phải tính toán kích thước mới vị trí mà imageView bạn khai thác để tạo hiệu ứng động. Đó là nó.

Hai ứng dụng của chúng tôi, tất cả đều triển khai hiệu ứng chuyển tiếp tương tự này bằng phương pháp này ở trên.

https://itunes.apple.com/app/hua-ban-quan-qiu-you-mei-tu/id494813494?mt=8

Và một điều này:

https://itunes.apple.com/app/mei-tu-sou-sou-wan-zhuan-wei/id781146829?mt=8


tôi đã tạo ra này repo vài ngày trước đó. Và với Swift, tôi gần như hoàn thành quá trình chuyển đổi này bên cạnh một số vấn đề nhỏ, đây là dự án thực hành demo đầu tiên của tôi dựa trên Swift. Nhưng nó không khó hiểu nếu bạn không phải là sinh viên năm nhất trong iOS dev và bạn sẽ học Swift BTW. Tôi sẽ hoàn thành nó và sửa lỗi sau này.

Trong dự án thực tế, nó phức tạp hơn bản demo, nhưng với điều đó, có thể bạn đã biết cách đạt được kiểu chuyển đổi này.

Chúc may mắn.

+0

Cảm ơn bạn. Tôi hiểu về mặt lý thuyết, nhưng thật tuyệt khi thấy một ví dụ thực tế sử dụng mã để thực sự hiểu được những phức tạp. Ví dụ: trong cả ứng dụng của bạn và Pinterest, vị trí của ô cũng thay đổi khi bạn thu nhỏ lại. Có rất ít điều có ý nghĩa khái niệm, nhưng nó thực sự mã hóa nó là thách thức. – user1218464

+0

@ user1218464 Roger rằng, tôi sẽ cho bạn thấy một bản demo để thực hiện điều này có thể một ngày nào đó sau đó, và tôi muốn xem nếu có một cách tốt hơn để làm chuyển đổi này, sau khi nó hoàn thành tôi sẽ chỉnh sửa câu trả lời này. – demon

+0

Xin chào, tôi muốn biết, nếu tôi muốn xóa một ô khỏi chế độ xem bộ sưu tập khi nhấn vào nút, tôi nên triển khai như thế nào? – Stephanie

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