18

Hiện tại tôi đang cố gắng tạo một UICollectionView, hiển thị đơn giản excel-like-spreadsheet, với rowscolumns. Đây là một nhiệm vụ dễ dàng với UICollectionViews, tôi tin tưởng. Và tôi thực sự muốn thực hiện triển khai trong UICollectionView, không phải trong bất kỳ grid framework nào.UICollectionView: Cách xác định UICollectionViewLayout hỗ trợ cuộn theo chiều ngang và chiều dọc?

Nhưng hiện tại tôi đang treo một chút. Điều tôi đã tìm ra là, rất tiếc là tôi không thể sử dụng số UICollectionViewDelegateFlowLayout, vì điều này chỉ hỗ trợ scrolling trong hoặchorizontally hoặc vertically hướng. Nhưng tôi cần scrolling theo cả hai hướng.

Do đó Tôi phải sử dụng UICollectionViewLayout, nhưng đối với điều này tôi không tìm thấy ví dụ hay, cách sử dụng. Có ai trong các bạn là một ví dụ, làm thế nào để phân lớp một UICollectionViewLayout để hỗ trợ rowscolumns?

Xin cảm ơn trước.

Trả lời

10

Dưới đây là hai ví dụ hay về cách triển khai Bố cục tùy chỉnh.

https://github.com/mpospese/IntroducingCollectionViews

http://skeuo.com/uicollectionview-custom-layout-tutorial

+0

Cảm ơn, các ví dụ đó đã giúp tôi rất nhiều. Nếu bất cứ ai có một ví dụ hoàn chỉnh của một bảng cuộn theo chiều ngang và chiều dọc (được thực hiện trong UICollectionView) xin vui lòng gửi nó ở đây. – AxM

+6

Tôi đã thực hiện chế độ xem Lưới cơ bản bằng UICollectionView với hỗ trợ cuộn ngang và dọc. Điều này có thể giúp bạn https://www.dropbox.com/s/qmmzuw35nvz8v36/MyCollectionView.zip – Jirune

+1

Cảm ơn rất nhiều vì @Jirune này. Nó làm việc cho tôi, nhưng nó khá chậm. Bạn có biết làm thế nào tôi có thể đi về tăng tốc nó? Tôi tự hỏi nếu các đoạn giao nhau rect là phần tôi cần phải tối ưu hóa. –

7

UICollectionViewFlowLayout chắc chắn không thể - "Bố cục lưới cuộn dọc theo một trục, theo chiều ngang hoặc chiều dọc".

Đây là lớp con của UICollectionViewLayout. Có vẻ như bạn có thể tạo lớp con của riêng mình là UICollectionViewLayout và cuộn theo cả hai hướng.

Ý của bạn là gì theo trang, bạn muốn thực hiện phân trang như scrollview? Tôi đang tự hỏi về việc sử dụng UICollectionViewFlowLayout trong một UICollectionView cho cuộn dọc, bên trong một UIScrollView để cuộn ngang.

+2

có một cách hoàn hảo said..thanks .. –

+0

Vâng, tôi biết rồi, mà tôi phải sử dụng UICollectionViewLayout thay vì UICollectionViewFlowLayout ... này tôi đã đăng đã có trong câu hỏi ban đầu. Vì vậy, nhận xét của bạn đã hoàn toàn không trả lời câu hỏi, xin lỗi. – AxM

4

Tôi đã thêm một ví dụ của việc sử dụng một cách bố trí tùy chỉnh để thực hiện một đơn giản ngang & dọc di chuyển lưới đây https://github.com/neildavis/MyCollectionView

dụ của tôi sử dụng PSTCollectionView kể từ khi tôi cần iOS 5 hỗ trợ , nhưng nó tương thích với API được tích hợp sẵn trong UICollectionView. (Trên thực tế nó sử dụng các lớp tương thích (PSUICollectionView vv) được cung cấp để đảm bảo nó sử dụng UICollectionView trên iOS 6 và rơi trở lại bằng cách sử dụng PSTCollectionView vv trên iOS 5.) Chỉ cần loại bỏ tiền tố 'PS' trên để trở lại iOS 6 chỉ UIKit thực hiện .

3

trả lời mà không cần mổ xẻ một 3 dự án mẫu

Trong lớp con UICollectionViewLayout của bạn:

  1. Thực hiện -(CGSize)[collectionViewContentSize] và trả về một kích thước lớn hơn về chiều cao và chiều rộng so với kích thước của UICollectionView. (Có thể truy cập qua: self.collectionView.frame.size)
  2. Tính bố cục cho số UICollectionViewCell s trong kích thước nội dung chứ không phải kích thước khung hình.

Lưu ý: Đảm bảo cuộn được bật trong UICollectionView. (Nó được bật theo mặc định.)

2

Tôi cần một cái gì đó tương tự. Tôi đã tạo một Custom CollectionViewLayout.

https://github.com/akashraje/BidirectionalCollectionViewLayout

+0

Điều này làm việc tuyệt vời cho tôi, mặc dù phải cẩn thận với chính tả của các thành phần vì nó không được tự động nhặt bởi Xcode, và một lỗi đánh máy nhỏ đã cho tôi đi xung quanh trong vòng tròn cho các lứa tuổi. – user1702985

+0

Tuyệt vời! Với nguồn này, bạn cũng có thể thực hiện lựa chọn cho một hàng các mục. –

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