Some Notes about Custom Collection View Layout

Dưới đây là một vài note liên quan đến Custom Collection View Layout.

1. Core Layout Process:

Trong process này, khi một collection view cần những thông tin về layout, nó sẽ alo Object layout của bạn để cung cấp cho nó những methods cần thiết theo 1 thứ tự cụ thể như sau:

Lớp mà bạn subclass phải làm những việc sau:
- collectionViewContentSize: Method này trả về width and height của collection view’s contents. You must override it. Nó trả về height and width của TOÀN BỘ CONTENT CỦA COLLECTION VIEW, chứ không chỉ riêng những visible content. The collection view sử dụng thông tin này một cách nội bộ để configure kích thước nội dung của scroll view size.

- prepare(): Method này được gọi bất cứ khi nào một hoạt động chuẩn bị được diễn ra. Đây là lúc mà ta cần để chuẩn bị và tính toán được yêu cầu liên quan đến việc xác định collection view size và vị trí của các items.

- layoutAttributesForElements(in:): Trong method này, bạn cần trả về các thuộc tính của layout cho tất cả các items bên trong các hình chữ nhật tổng đó. Ở đây, ta trả về các thuộc tính của collection view là 1 array  UICollectionViewLayoutAttributes.

- layoutAttributesForItem(at:):  Method này cung cấp thông tin layout theo yêu cầu của collection view. Bạn cần override nó và trả về layout attributes cho từng item tại indexPath được yêu cầu.

2. Một vài hàm quan trọng khác:

1. insetBy

Trả về một rectangle lớn hoặc nhỏ hơn source rectangle với điểm center point như cũ.

Parameter dx: Giá tri toạ độ x được dùng cho việc điều chỉnh source rectangle. Để tạo 1 hình chữ nhật nhỏ hơn, ta dùng giá trị dương. Để tạo 1 hình chữ nhật lớn hơn, điền giá trị âm.

Parameter dy: Giá tri toạ độ x được dùng cho việc điều chỉnh source rectangle. Để tạo 1 hình chữ nhật nhỏ hơn, ta dùng giá trị dương. Để tạo 1 hình chữ nhật lớn hơn, điền giá trị âm.


Bình luận
* Các email sẽ không được công bố trên trang web.
I BUILT MY SITE FOR FREE USING