我正在以編程方式設置我的UICollectionView
,一切看起來都很合適,但是當我測試我的應用程序時,我得到了一些非常奇怪的空間,無論是垂直還是水平。我的LibraryViewController
班,設置收集視圖可以在這裏找到:LibaryViewController class。我LibraryCell
初始化看起來是這樣的:UICollectionView佈局間距問題。單元格之間的空間太大
- (id)initWithFrame:(CGRect)frame
{
NSLog(@"Init called");
NSLog(@"%@", NSStringFromCGRect(frame));
self = [super initWithFrame:frame];
if (self) {
// Initialization code
imageView = [[UIImageView alloc] initWithFrame:frame];
[self.contentView addSubview:imageView];
}
return self;
}
所以每次小區建立時,我把它向我彙報的框架是什麼。有趣的是這些值看起來是正確的。這裏是我的日誌文件的一部分看起來像這樣顯示的幀是在正確的地方:
2012-12-12 11:08:48.333 ARApp2[16330:907] Init called
2012-12-12 11:08:48.335 ARApp2[16330:907] {{10, 10}, {80, 120}}
2012-12-12 11:08:48.341 ARApp2[16330:907] Loaded image0.png
2012-12-12 11:08:48.349 ARApp2[16330:907] success
2012-12-12 11:08:48.352 ARApp2[16330:907] Init called
2012-12-12 11:08:48.354 ARApp2[16330:907] {{120, 10}, {80, 120}}
2012-12-12 11:08:48.358 ARApp2[16330:907] Loaded image1.png
2012-12-12 11:08:48.365 ARApp2[16330:907] success
2012-12-12 11:08:48.368 ARApp2[16330:907] Init called
2012-12-12 11:08:48.370 ARApp2[16330:907] {{230, 10}, {80, 120}}
2012-12-12 11:08:48.375 ARApp2[16330:907] Loaded image2.png
2012-12-12 11:08:48.382 ARApp2[16330:907] success
但是,當你看到屏幕上的結果,它看起來像這樣:Screenshot 這個系列共有四個項目在裏面。前三名在第一排,所以你甚至看不到第三名。然後第四個開始下一行,但比我想要的低。任何人都可以看到爲什麼這些細胞間隔很遠?
什麼是「自我」在這裏?你打給哪個對象的initWithFrame?你知道一個視圖的子視圖有自己的以(0,0)開頭的座標系嗎?如果這個對象(我猜想有些UIView子類)有一個10,10和(東西,東西)的框架,並且你添加了一個子視圖(10,10)和(東西,東西),那麼你的子視圖將從(20, 20)。你的第二個子視圖將在你的「自我」的超視圖的座標系內的(240,20)開始。 –