我正在以编程方式设置我的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)开始。 –