7

Tôi đang sử dụng một UICollectionView với Storyboard và cố gắng phân lớp UICollectionViewFlowLayout nhưng nó dường như không hoạt động.Làm thế nào để phân lớp UICollectionViewFlowLayout với Storyboard

tôi đã tạo ra các lớp con CollectionViewFlowLayout:

#import "CollectionViewFlowLayout.h" 

@implementation CollectionViewFlowLayout 

-(id)init 
{ 
    NSLog(@"Init of CollectionViewFlowLayout"); 

    if (!(self = [super init])) return nil; 
    self.itemSize = CGSizeMake(250, 250); 
    return self; 
} 

@end 

Và trong Identity Inspector của Storyboard Tôi đã thay đổi lớp cho bố trí dòng chảy:

Identity Inspector for Storyboard

Nhưng khi tôi lưu/build/chạy, itemSize không được đặt ở mức 250 và NSLog của tôi không được xuất.

Tôi đã xem trong examples such as this mà bạn có thể đặt bố cục trong bộ điều khiển collectionView, nhưng tôi giả định rằng không cần thiết nếu bạn đặt nó trong bảng phân cảnh.

Trả lời

11

Đối tượng được tải từ sử dụng bảng phân cảnh initWithCoder:, không phải init. Thay vào đó, hãy di chuyển mã thiết lập của bạn hoặc có phương thức chung được gọi từ mỗi trình khởi tạo.