2013-08-03 26 views
13

tôi có một cái nhìn bộ sưu tập, làm việc tốt, và tôi đã điều chỉnh việc tách cho padding X,ios UICollectionView tách trên đỉnh/đáy giữa các tế bào

và nó hoạt động tốt, nhưng đối với các padding Y giữa tế bào , dường như không để thích nghi với NO tách

Đây là mã của tôi cho bố trí

UICollectionViewFlowLayout *layoutItem=[[UICollectionViewFlowLayout alloc] init]; 
    layoutItem.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0); 

enter image description here Vậy làm thế nào tôi có thể thiết lập sự tách biệt trên/dưới để 0px? Giữa các ô ?,

cảm ơn!

Trả lời

43

bạn sẽ chỉ thấy phần đệm trên cùng ở lần đầu tiên. Và Để hiển thị phần đệm dưới cùng, bạn cần thêm dữ liệu mà chiều cao khung của CollectionView. Khi bạn cuộn lên chế độ xem bộ sưu tập, bạn sẽ thấy phần đệm dưới cùng.

Tôi đã từng như thế này collectionView

https://stackoverflow.com/a/17856406/1305001

Khi tôi đặt

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section 
{ 
    return UIEdgeInsetsMake(60, 10, 50, 10); 
} 

Kết quả sẽ đến lúc như đầu tiên ..

enter image description here

Khi bạn cuộn lên collecti OnView bạn sẽ thấy lớp đệm phía dưới ..

enter image description here

Sử dụng này cho khoảng cách giữa các dòng verticle giữa các tế bào

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section 
{ 
    return 5; 
} 

sẽ trông giống như

enter image description here

+0

xin cảm ơn, lỗi của tôi tôi đã không giải thích đúng, là sự tách biệt giữa các ô trên cùng, dưới cùng, có nghĩa là, không có khoảng trống giữa các ô, tôi đã chỉnh sửa câu hỏi của mình và bình chọn bạn cảm ơn – MaKo

+0

câu trả lời, vượt qua 0 thay vì 5 sẽ cho phép bạn không có khoảng trống dọc giữa các ô. – Warewolf

5

Bạn cũng có thể làm điều đó một cách đơn giản hơn nhiều bằng cách sử dụng bố cục lưu lượng xem bộ sưu tập.

Thiết lập bố trí dòng chảy (nhớ để thêm các đại biểu trong phần đầu của bạn):

UICollectionViewFlowLayout * stickerFlowLayout = [[UICollectionViewFlowLayout alloc] init]; 

stickerFlowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal; 
**stickerFlowLayout.minimumLineSpacing = 10;** 
stickerFlowLayout.minimumInteritemSpacing = 5; 
stickerFlowLayout.sectionInset = UIEdgeInsetsMake(10, 25, 20, 25); 

// Set up the collection view 
collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:stickerFlowLayout]; 
collectionView.delegate = self; 
collectionView.dataSource = self; 

etc 

Như bạn có thể thấy chúng ta có thể dễ dàng thiết lập đường dây khoảng cách sử dụng:

**stickerFlowLayout.minimumLineSpacing = 10;** 

Chúng tôi cũng có thể thay đổi các thuộc tính khác

stickerFlowLayout.minimumInteritemSpacing = 5; 

Với khoảng cách giữa các khoảng trống ảnh hưởng đến không gian giữa các mục (simila r nhưng khác với khoảng cách dòng)

Sử dụng bố cục luồng, bạn có thể lưu trên một lượng lớn mã và đặt chế độ xem bộ sưu tập của bạn lên một cách có lập trình ở một nơi (chỉ cần đặt khoảng trắng và khoảng cách dòng đã lưu lại cho tôi hai bổ sung chức năng không cần thiết)

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