我试图以编程的方式创建一个UICollectionViewCell子类。我试图创建与自动布局支持。
我想要一个UIView到单元格的content视图,并添加前导、顶部、尾部和底部约束。但是当我这样做的时候,我的UIView's宽度和高度保持为零。下面是我在initWithFrame方法中的代码:
self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
_someView = [[UIView alloc] initWithFrame:CGRectZero];
_someView.translatesAutoresizingMaskIntoConstraints = NO;
[self.contentView addSubview:_someView];
NSArray *horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-2-[someView]-2-|" options:0 metrics:nil views:@{@"someView" : _someView}];
NSArray *verticalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-2-[someView]-2-|" options:0 metrics:nil views:@{@"someView" : _someView}];
[self.contentView addConstraints:horizontalConstraints];
[self.contentView addConstraints:verticalConstraints];下面是UI调试器的截图:

为什么这些约束会变灰呢?
谢谢!
发布于 2016-07-05 18:33:41
contentView是由UICollectionViewCell拥有的,因此执行此操作
self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
破坏单元格中的布局。
对于您拥有的任何子视图并将其添加到content视图中,这样做是完全合理的,但是如果对您不拥有的视图进行处理,则会有破坏布局的风险。
https://stackoverflow.com/questions/38041010
复制相似问题