5

Tôi không thể nhận được UICollection của mình để đặt đúng mức độ sectionInset.left khi sử dụng ô tự định kích thước với estimatedItemSize. Các ô của UICollectionview phải có chiều cao ô cố định nhưng chiều rộng động theo chiều dài văn bản.sectionKhông hoạt động với UICollectionXem ước tínhItemSize trong iOS8 bằng cách sử dụng AutoLayout

Sau đây là cách có vẻ khi tự kích thước được kích hoạt:

enter image description here

Và khi tự kích thước bị vô hiệu hóa:

enter image description here

Lạ lùng thay, có vẻ như sectionInset.right đang hoạt động, nghĩa là lề được thêm vào bên phải của UICollectionView.

Đây là tùy chỉnh UICollectionViewFlowLayout của tôi, tôi đang chuyển đổi chế độ tự kích thước bằng cách sử dụng nhận xét.

class myFlow: UICollectionViewFlowLayout { 
    required init(coder: NSCoder) { 
    super.init(coder: coder) 

     self.minimumLineSpacing = 1 
//  self.estimatedItemSize = CGSize(width: 100, height: 35) 
     self.sectionInset.left = 20 
    } 

Và UICollectionView tùy chỉnh của tôi:

class myCV: UICollectionView { 
    required init(coder decoder: NSCoder) { 
     super.init(coder: decoder) 

     self.layer.cornerRadius = 5.0 
     self.layer.borderWidth = 1.0 
     self.layer.borderColor = UIColor.lightGrayColor().CGColor 

    } 
} 

Tôi đã đặt ra các nhãn bên trong tế bào UICollectionView sử dụng AutoLayout:

enter image description here

+0

Tôi đã thử nghiệm lại điều này với XCode 7 beta 1 và nó hoạt động với bản phát hành đó, vì vậy tôi cho rằng đó là lỗi trong việc thực hiện tự kích cỡ hiện tại của Apple ô cho UICollectionView. Một vấn đề khác tôi đã có được về ngẫu nhiên ngoài giới hạn ngoại lệ với tham chiếu chỉ mục như '9223372036854775806' mà tôi truy tìm xuống được gây ra bởi' estimatedItemSize' là tốt. – petard

+0

Tôi vừa gặp một lỗi rất giống nhau. Các inset bên trái đã được báo cáo cho inset bên phải cho một cái nhìn thực sự tương tự như của bạn (UiCollectionView, chế độ nằm ngang) khi tôi sử dụng EstimatedItemSize. – alaeri

+0

Tôi có cùng một vấn đề nhưng đối với tất cả các insets. Vấn đề của tôi là một chút tồi tệ nhất vì tôi cần phải đặt các kích thước nội dung khác nhau cho các phần khác nhau. Và trên thực tế, chế độ xem bộ sưu tập thậm chí không hiển thị chính nó nếu tôi đặt nội dung inset khác với 0,0,0,0. Ngay cả khi 1, 0, 0, 0 ... –

Trả lời

0

Tôi đã tìm thấy một công việc xung quanh này - sử dụng tài sản contentInset của UIScrollView, đó là loại siêu hạng UICollectionView. Nó không phải là câu trả lời chính xác, nhưng, ít nhất, một giải pháp của vấn đề

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