所以,最好发布图片以理解
我没有在这里使用任何约束,因为当我开始使用约束时,会抛出约束警告。我在故事板(159/50)中设置单元格的大小,最小间距为1,并且还在代码
中- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return CGSizeMake(159, 50);
}
此外,我在collectionview,collectionviewcell,单元格中的视图和按钮中设置“剪辑子视图”,视图为NO,以查看视图的放置位置。 “Autoresize subviews”没有做任何事情,我已经检查过了。每个视图的模式设置为“Scale to Fit”。 单元格的大小可以是默认的或自定义的,这也没有意义。
那么,为什么会这样呢?我花了2天时间。请帮忙。
我还附上了约束的截图。
我在UIView内部单元格中设置了顶部,底部,前导和尾随约束,并在此UIView中设置了UILabel。
但在这种情况下,我在每台设备上都出现了约束错误:
(
"<NSLayoutConstraint:0x7fd0834b0b10 H:[UIButton:0x7fd0834b0140'Button']-(0)-| (Names: '|':UIView:0x7fd0834b0050 )>",
"<NSLayoutConstraint:0x7fd0834b0b60 H:|-(35)-[UIButton:0x7fd0834b0140'Button'] (Names: '|':UIView:0x7fd0834b0050 )>",
"<NSLayoutConstraint:0x7fd0834b0dd0 H:|-(20)-[UIView:0x7fd0834b0050] (Names: '|':UIView:0x7fd0834aff60 )>",
"<NSLayoutConstraint:0x7fd0834b0e70 H:[UIView:0x7fd0834b0050]-(19)-| (Names: '|':UIView:0x7fd0834aff60 )>",
"<NSAutoresizingMaskLayoutConstraint:0x7fd0834b27c0 h=--& v=--& H:[UIView:0x7fd0834aff60(50)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7fd0834b0b10 H:[UIButton:0x7fd0834b0140'Button']-(0)-| (Names: '|':UIView:0x7fd0834b0050 )>
我认为发生此错误是因为单元格大小未正确设置,在我的情况下,它设置为默认值50x50,我已经检查了这个。
安装xcode 6后发生了所有这些问题。
有趣的是:当我使用UICollectionViewController
而不是带有UIViewController
的{{1}}并且需要代理时,我的应用程序正常运行。
答案 0 :(得分:1)
您必须在自定义单元格类中添加以下代码:
-(void)awakeFromNib
{
[super awakeFromNib];
self.contentView.frame = self.bounds;
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
}
中找到解决方案